jQueryで動的に作成した複数のasp:buttonがあります。
それらのそれぞれについて、私は持っていOnClick="ibtn_Click"
ます。
しかし、背後にあるコードでは、Page_Load..like...にそれぞれを手動で登録する必要がありますbutton.Click += new EventHandler(this.ibtn_Click);
。
このハンドラーを自動的に登録する方法はありますか?または、ajax jqueryに登録することは可能ですか?
ありがとう!
jQueryで動的に作成した複数のasp:buttonがあります。
それらのそれぞれについて、私は持っていOnClick="ibtn_Click"
ます。
しかし、背後にあるコードでは、Page_Load..like...にそれぞれを手動で登録する必要がありますbutton.Click += new EventHandler(this.ibtn_Click);
。
このハンドラーを自動的に登録する方法はありますか?または、ajax jqueryに登録することは可能ですか?
ありがとう!
クライアントのブラウザにASP.NETWebコントロールを追加することはできません。ASP.NETは、これらの<asp:button>
タグを次のような通常のHTMLに変換します。
<input type="submit" name="Button1" value="Ok" id="Button1" />
ユーザーがこれらの送信コントロールの1つをクリックすると、ブラウザーはPOST要求を送信します。これには、投稿されたデータ( ASP.NETname
のコレクションを介してアクセスできます)の一部としてボタンが含まれます。Form
if (this.IsPostBack && Request.Form["Button1"] != null) {
// do something if the user clicked Button1
}
ASP.NETは、サーバーコントロールのクリックを属性で指定されたメソッドに自動的にバインドしOnClick
ます。完了後にメソッドを呼び出しますPage.Load
(詳細については、「ASP.NETページのライフサイクルの概要」を参照してください)。
クライアントにボタンを追加する場合は、これをすべて自分で行うことができます。たとえば、動的に生成されたボタンを次のように「バインド」できますPage_PreRender
。
protected void Page_PreRender(object sender, EventArgs e) {
if (this.IsPostBack && Request.Form["Button1"] != null) {
// Call another method on the page
}
}
最後に、この時代では、適切であれば、jQueryを介してページメソッドを呼び出すことを検討する必要がありますajax
。そのテクニックの紹介については、この優れたEncosiaの記事を参照してください。
コードビハインドを呼び出すための動的なasp.netボタンを生成する目的はありますか?HTMLの「送信」ボタン(type = submit)を生成し、javascriptからwebMethodsを呼び出すことができます。その後、webmethodsはc#コードビハインドにリダイレクトされます