用datagrid默认分页出现如下错误,以前用的好好的, 当添加了 DataGrid1_ItemCommand事件就出错。
                 private void DataGrid1_ItemCommand(object source,                                         System.Web.UI.WebControls.DataGridCommandEventArgs e)
{                   dt=d.GetDt(ostr);
行 136: this.DataGrid1.DataSource=dt;
行 137: int id=Convert.ToInt32(this.DataGrid1.DataKeys[(int)e.Item.ItemIndex]);
行 138:          string aa=this.DataGrid1.DataKeys[0].ToString();
137行报错。

解决方案 »

  1.   

    不晓得~监视看看this.DataGrid1.DataKeys
      

  2.   

    if(e.Item.ItemIndex<>-1) 
    { ...
    }一般都是绑定的问题,同时要设置DataKeys才可以用
      

  3.   

    估计你在itemcommand里重新绑定了datagrid,例如,删除了什么东西或者变化了查询条件。
    这样,如果前一个页面你在第10页,itemcommand之后一共只有3页,就会出现这个error
      

  4.   


    在136行上面加一句:
    this.DataGrid1.CurrentPageIndex = 0;看是否可行?
      

  5.   

    Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem, ListItemType.EditItem
         你的处理
            End Select