为动态添加的服务器控件添加事件委托
以button和ImageButton为例:
1、创建控件的实例并设置其属性,将新控件添加到页上已有容器的 Controls 集合中
Button bt
=
new
Button();
bt.Text = " test " ;
ImageButton ib = new ImageButton();
PlaceHolder1.Controls.Add(bt);
PlaceHolder1.Controls.Add(ib);
bt.Text = " test " ;
ImageButton ib = new ImageButton();
PlaceHolder1.Controls.Add(bt);
PlaceHolder1.Controls.Add(ib);
2、将事件处理程序和事件相关联(event wiring)或从事件中删除事件处理程序(event unwiring)
ib.Click
+=
new
ImageClickEventHandler(ib_Click);
bt.Click += new System.EventHandler( this .bt_Click);
bt.Click -= new System.EventHandler( this .bt_Click);
bt.Click += new System.EventHandler( this .bt_Click);
bt.Click -= new System.EventHandler( this .bt_Click);
3、增加事件处理程序
//
System.EventArgs不保留事件数据
private void bt_Click( object sender, System.EventArgs e)
{
//要添加的事件处理程序
}
// ImageClickEventArgs 拥有事件数据,有ImageButton的click事件的X,Y坐标
private void ib_Click( object sender, ImageClickEventArgs e)
{
//要添加的事件处理程序
}
private void bt_Click( object sender, System.EventArgs e)
{
//要添加的事件处理程序
}
// ImageClickEventArgs 拥有事件数据,有ImageButton的click事件的X,Y坐标
private void ib_Click( object sender, ImageClickEventArgs e)
{
//要添加的事件处理程序
}