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

*Click += new EventHandler(this.del_Click)事件无法响应,为何?该怎么解决

2012-04-09 
***.Click + new EventHandler(this.del_Click)事件无法响应,为何?动态加载控件:B[1]newButton()B[1].I

***.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]);

热点排行