2

ポストバックを行うためにasp.netの動的コントロール(ボタン)にイベントハンドラを追加する方法は? Javascript以外でも可能ですか?

4

1 に答える 1

4

はい、可能です。

したがって、たとえば、Page_Loadボタンを作成できます。

この例では VB を使用しています

これはポストバック時に再作成する必要があるため、ラップしIf (Not isPostBack)ないでください - そうしないと機能しません

Dim btn As Button = New Button() With {.Text = "Click Me", .ID = "MyId"}
AddHandler btn.Click, AddressOf MyBtnClick ' This is the method to call

次に、ここでクリックを処理します。

Private Sub MyBtnClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim btn As Button = CType(sender, Button) ' Gets the button that fired the method
    ' Do your code here
End Sub

そして、これはC#でも同じです

Button btn = new Button {Text = "Click Me",ID = "MyId"};
btn.Click += new EventHanlder(MyBtnClick);

そして呼び出されているメソッド

private void MyBtnClick(object sender, EventArgs e)
{
    Button btn = (Button)sender; // Gets the button that fired the method
    // Do your code here
}
于 2013-03-28T19:55:35.020 に答える