private void DataGrid1_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
     string   strBugID = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
}
这样的话调试说为什么索引超出范围

解决方案 »

  1.   


    private void DataGrid1_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
         string   strBugID = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
    }改为:
    private void DataGrid1_ItemCommand_1(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
         if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==  ListItemType.AlternatingItem)
      {
         string   strBugID = DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
      }
    }
      

  2.   

    看一下: e.Item.ItemIndex的值是否在有效值范围之内
    比如:你的数据集共10行,但它的值为11行了
      

  3.   

    你的datagrid属性里面设置了键值了没?