点击分页时候,当有以下两个事件的时候,
DataGrid1_ItemCommand    
DataGrid1_PageIndexChanged
他居然执行DataGrid1_ItemCommand   ;可是只有DataGrid1_ItemCommand    时,就没有问题这是为什么?
DataGrid1的事件中--pageindexchange事件设的的确是DataGrid1_PageIndexChanged

解决方案 »

  1.   

    把你CS文件中,private void InitializeComponent()事件里面的所有事件,除page_load外,全部干掉,然后返回ASPX页面中重新指定事件。
    肯定是事件委托出现了问题
      

  2.   

    ItemCommand一般是处理Edit和Delete按钮,如果事件处理程序搞混了。
      

  3.   

    肯定是注册错啦自己检查一下代码吧,
    不过我想问一下,C#里面注册datagrid事件只能手动写吗?不可以像Button一样双击它就有注册了。
      

  4.   

    不过我想问一下,C#里面注册datagrid事件只能手动写吗?不可以像Button一样双击它就有注册了。
    ----------------------
    可以啊,双击按钮什么的,一样会自动生成。
    象datagrid这种,你可到它的属性上方有一个闪电标志,点击进去就是它的事件属性,双击某个属性,即自动生成。
      

  5.   

    你们上面说到的问题我都没有阿,可是就是不行。this.DataGrid1.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_ItemCommand11);this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);*********************************************
    从上面可以看出来ItemCommand 事件对应DataGrid1_ItemCommand11,PageIndexChanged事件对应DataGrid1_PageIndexChanged,可是PageIndexChanged事件偏偏对应DataGrid1_ItemCommand11
      

  6.   

    所有的select、前后换页、排序、编辑、删除等等事件之前,都会先触发OnItemCommand事件,这是正常的。所以你只要检查为什么OnPageIndexChaned没有触发,不用笑ItemCommand。
      

  7.   

    打印ItemCommand中接收到的参数的命令和参数属性,如果是 "Page"以及你点的页号,可以肯定是PageIndexChanged注册问题。如果接收的不是,可以肯定是客户端就已经有问题。