为动态添加的服务器控件添加事件委托
以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)
{
//要添加的事件处理程序
}