ItemCommandVSItemDataBound

ItemCommand、CancelCommand、DeleteCommand、EditCommand、UpdateCommand  
  也就是DataGrid中,点击Button、LinkButton后执行的事件,执行的事件取决于按钮的CommandName。其实最主要的一个是ItemCommand,而后面四个都只是ItemCommand的一小部分,  
  比如一个按钮的CommandName为"Cancel",当返回后,首先执行的是ItemCommand事件,然后才是CancelCommand事件。  
   
  ItemDataBound,ItemCreated  
  首先要说的是这两个事件的发生时间。  
  ItemDataBound嘛,只要执行了DataBind方法,就会马上激发这个事件。  
  ItemCreated呢,如果页面是第一次访问(Page.IsPostBack   =   false),那在第一次执行DataBind的时候,会先激发ItemCreated事件,也就是说,执行了DataBind后,首先会用ItemCreated来建立Header行,然后用ItemDataBound来绑定Header行,再用ItemCreated来建立第一行,再调用ItemDataBound来绑定第一行,也就是说ItemCreated和ItemDataBound是交替执行的。  
  页面返回时,也会执行ItemCreated事件,在Page_Load之前,但是这时候就不会再执行ItemDataBound事件了。  
  所以,如果你想在DataGrid里动态添加什么控件,就需要在ItemCreated事件中,而不是在ItemDataBound事件中。
posted @ 2009-03-10 22:11  Jason.Bird  阅读(145)  评论(0编辑  收藏  举报