コンテキストは次のとおりです。
サーバー上にあるいくつかの xml ドキュメントをユーザーが管理できるようにする .aspx ページを作成しています。ページ コンテンツは AJAX を使用して読み込まれるため、ボタンとフォームはドキュメントに動的に追加されます。
クライアントのマシンに読み込まれる前に .aspx ページ内に作成していた静的ボタンがあれば、非常に簡単にイベントを関連付けることができました。ただし、jQuery を使用して、その場でボタンとフォームを動的に追加および削除しています。
簡単な例を次に示します。
次の jsFiddle では、html ドキュメントに次のスクリプトが含まれているふりをしています。
<script language="C#" type="text/C#" runat="server">
void SaveAllChanges(Object sender, EventArgs e)
{
Button clickedButton = (Button)sender;
clickedButton.Text = "foobar";
}
</script>
そして、次を含むjavascriptファイルがあります。
$('button.buttonGenerator').click(function() {
$('.buttonContainer').append(
'<button onclick="SaveAllChanges">' +
'Save All Changes!' +
'</button>'
);
});
明らかに、私が作成しているボタンは、現在の方法で関数 SaveAllChanges を実行できません。onclick 属性を追加して、何が必要かを疑似コードのようなスタイルで示しました。
動的に追加されたボタンが、ドキュメントの上部にある script タグ内で定義した C# メソッドを実行できるようにするにはどうすればよいですか?
これがjsfiddleです:http://jsfiddle.net/2XwRJ/
ありがとう。