***.Click += new EventHandler(this.del_Click)事件无法响应,为何?
动态加载控件:
B[1] = new Button();
B[1].ID = "button2 ";
B[1].Text = "删除 ";
B[1].Click += new EventHandler(this.del_Click);
Click事件:
已申明了这个CLICK属性,为何运行时,点击Button时,无法执行?
private void del_Click(object sender, System.EventArgs e)
{
.....
}
请各位帮我分析下原因吧~~急
------解决方案--------------------要记的ASP.NET所有控件都必须在页面postback回服务器的时候重新加载,你动态加载的控件也一样。如果你点击 "添加 "按钮动态加载1个控件,你再点击一次其他的按钮postback回服务器,你会发现你前面添加的控件消失了。
所以如果你动态加载的控件不是写在Page_Load中,那你必须想办法记住你动态添加的控件,并在页面postback后重新加载一次。
------解决方案--------------------楼上正解,必须使用像Session等操作把相应加载的动态控件存入其中,否则页面postback信息将全部消失掉,当然就无法触发事件
------解决方案--------------------更正一下,应该把 "B[1].Click += new EventHandler(this.del_Click); "改写成
"B[1].Click += new EventHandler(this.del_Click,B[1]);