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 回答