首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

动态创建的 Button, 如何动态添加 OnClick 事件

2012-02-12 
动态创建的 Button, 怎么动态添加 OnClick 事件这里无效,怎么才能引用CheckLogin方法?//smtButton.OnClick

动态创建的 Button, 怎么动态添加 OnClick 事件
这里无效,   怎么才能引用   CheckLogin   方法?
    //smtButton.OnClick=this.CheckLogin;

如下:
  public   void   CheckLogin(Object   s,   EventArgs   e)
  {
 
  }
 
  public   void   Login(PlaceHolder   LoginPh)
  {
    Literal   Br=new   Literal();
    Br.Text= " <br/> ";
   
    Literal   ltUsername=new   Literal();
    ltUsername.Text= "Username:   ";
   
    Literal   ltPassword=new   Literal();
    ltPassword.Text= " <br/> Password:   ";
   
    TextBox   Username=new   TextBox();
    Username.ID= "Username ";
   
    TextBox   Password=new   TextBox();
    Password.TextMode=TextBoxMode.Password;
    Password.ID= "Password ";
   
    Button   smtButton=new   Button();
    smtButton.Text= "login   now ";
    //smtButton.OnClick=this.CheckLogin;
   
    LoginPh.Controls.Add(ltUsername);
    LoginPh.Controls.Add(Username);
    LoginPh.Controls.Add(ltPassword);
    LoginPh.Controls.Add(Password);
    LoginPh.Controls.Add(Br);
    LoginPh.Controls.Add(smtButton);
  }

[解决办法]
vb.net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim btn As New Button
btn.ID = "btn1 "
btn.Text = "btn1 "
form1.Controls.Add(btn)
AddHandler btn.Click, AddressOf btn1_Click
End Sub

Public Sub btn1_click(ByVal sender As Object, ByVal e As EventArgs)
For Each ctl As Control In form1.Controls
If (ctl.GetType Is GetType(System.Web.UI.WebControls.Button)) Then
If CType(ctl, Button).ID = "btn1 " Then
Response.Write(CType(ctl, Button).ID)
End If
End If
Next
End Sub
[解决办法]
this.smtButton.Click += new System.EventHandler(this.CheckLogin);

热点排行