元旦放假时,和以前的朋友见面聊天,他和我一样,也是做VS2003的,我突然想起了平时总在困扰我的一个问题,就是有没有解决丢事件的方法。他对我说:在页面的InitializeComponent函数中加入一个方法,如:InitLoad()。将出了Load事件的其他事件都加到InitLoad()的方法下:
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.InitLoad();
}
private void InitLoad()
{
this.wgrd_OrderGrid.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.wgrd_OrderGrid_ItemDataBound);
this.wbtn_Add.Click += new System.EventHandler(this.wbtn_Add_Click);
this.wgrd_OrderGrid.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.wgrd_OrderGrid_ItemCommand);
}
此方法是了一下,丢事件的问题暂时没有发生,但是有一点要注意:此时,在对某个控件添加事件时,最好用手写如InitLoad()函数中,如果双击的话,InitializeComponent函数中的InitLoad()的调用会丢。