0

このステートメントを使用して JavaScript を呼び出し、JavaScript 関数に渡す値から一重引用符のエスケープ文字を削除しています。

<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("systempath").ToString().Replace("'", @"\'"); %>','','',1);"><%#Eval("ID") %></label>

上記の行を変更して、二重引用符と一重引用符も一緒に削除するにはどうすればよいですか。

どんな助けでも大歓迎です。

4

1 に答える 1

0

javascript メソッド呼び出しで安全に使用できるように、文字列をエスケープしたいと思いますか? systempath プロパティをエスケープする新しいプロパティをデータソースに作成できます。

public string EscapedSystemPath
{
    get
    {
            return new JavaScriptSerializer().Serialize(systempath);
    }
}

そして、それに対してデータバインドできます:

<label style="text-decoration: underline" onclick="javascript:GetSelectedRow('<%# Eval("ID") %>','<%# Eval("EscapedSystemPath") %>','','',1);"><%#Eval("ID") %></label>
于 2012-12-08T16:13:06.217 に答える