索引超出范围。必须为非负值并小于集合大小。参数名: index 非常奇怪的错误
string   c_id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); 
 为什么这句话有时候运行正确   有时候报错 
 “索引超出范围。必须为非负值并小于集合大小。参数名:   index” 
 ASP.NET   1.1   C#    
 这个错误应该是e.Item.ItemIndex这个参数有问题 
 于是我Response.Write(e.Item.ItemIndex); 
 结果输出   1      没有问题啊 
 更奇怪的是我又执行一句 
 this.DataGrid1.EditItemIndex=e.Item.ItemIndex; 
 然后在执行 
 string   c_id=this.DataGrid1.DataKeys[e.Item.ItemIndex].ToString(); 
 然后一切正常   没有报错 
 谁知道这是怎么回事? 
 我快郁闷死了~!
------解决方案--------------------DataKeyFiled要在gridview(2.0)属性窗口中说明下 
   不是这样你找我   
 我以前也遇到这个现象