Postback时DataGrid.ItemCreated比Page.Load还要先执行!

this.DataGrid1.ItemCreated += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemCreated);

绑定后,第一次执行Page.Load会先于ItemCreated,当页面提交时,上面的DataGrid1_ItemCreated会先于页面其他方法,被先执行一次。再执行Load方法。

以下这类代码就会往往碰到麻烦
Control ctl = e.Item.FindControl("lblConfirm");
if(ctl !=null)
{
    Batch batch 
= (Batch)e.Item.DataItem;
    Label lbl 
= (Label)ctl;
    lbl.Text 
= Batch.GetConfirmKindName(batch.ConfirmKind);
}
因为PostBack时e.Item.DataItem是空的!!PostBack时再次绑定数据ItemCreated会再一次执行。
posted @ 2006-03-08 15:26  生命体验之kevin-Y  阅读(516)  评论(0编辑  收藏  举报