DataList的ItemTemplate中点击ASP:Button不触发事件的解决方案

问题:

  在DataList中放了一个ASP:Button,点击了之后能看到页面刷新的动作,但是并没有触发 DataList1_ItemCommand 的动作。除此之外,在试图获取 DataList1.SelectedItem 的时候也发现其值为null。

 

原因:

  查了好久查到……因为点击按钮后程序先执行Page_Load函数,而在Page_Load这里又重新对DataList1进行了数据绑定,DataList1所有和数据有关的属性被重置。所以执行到click时,DataList1.SelectedItem的值是null,于是就出现了System.NullReferenceException异常。而且也不会触发DataList1_ItemCommand的动作了。

 

解决方案:

  在Page_Load事件里加上如下判断:

  if(!Page.IsPostBack)
  {
        // 对DataList进行数据绑定的代码
  }

posted @ 2013-04-09 11:34  6V@ECNU  阅读(412)  评论(0)    收藏  举报