1

以下のjavaScriptメソッドを呼び出す必要がある画像ボタンを作成する次のc#コードがあります

var imageButton = new ImageButton();
    imageButton.ImageUrl = "Styles/unClicked.png";
    imageButton.ID = "btn" + questionName;
    imageButton.OnClientClick = "buttonPressed('" + questionName + "')";

その出力 & #3 9; HTML コードの ' の代わりにエラーが発生します (スペースを追加してカンマに変更しないようにする必要がありました)。

onclick="buttonPressed('question0')

これを防ぐにはどうすればよいですか?

4

2 に答える 2

0

これを試してみてくださいHtmlString(動作していません)。

imageButton.OnClientClick = new HtmlString("buttonPressed('" + questionName + "')");

それが機能しない場合は、カスタムコントロールを作成するか、javascript(JQuery)を使用してクリックイベントのハンドラーを追加する必要があります。

<script>    
    $("<%=imageButton.ID%>").click(function() {
      buttonPressed('<%=questionName%>');
      })
</script>
于 2012-08-03T10:48:26.947 に答える
0

OnClientClick 属性は非常に制限的です。これが機能するかどうかは完全にはわかりませんが、以前に同様のコードを使用して、テキストボックス内のゴーストテキストを処理しました...

imageButton.Attributes.Add("onclick", "buttonPressed('" + val + "')");

属性を HTML エンコードしないでください。

于 2012-08-04T05:14:43.707 に答える