GridView1.DataKeys[e.RowIndex].Value.ToString() 索引超出范围问题
问题:GridView1.DataKeys[e.RowIndex].Value.ToString() 必须为非负值并小于集合大小。
异常信息:System.Web.HttpUnhandledException: 引发类型为 “System.Web.HttpUnhandledException”的异常。---> System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
报错位置:GridView1.DataKeys[e.RowIndex].Value.ToString()。
解决方法:在GridView列表属性的 DataKeyNames 项里添加所设为主键的字段名就可以。
步骤:
1、sql表中设置主键字段,如deptInId
2、在 .aspx设计界面选中GridView1,在属性栏中将DataKeyNames设置为主键字段名deptInId
![](https://img-my.csdn.net/uploads/201211/19/1353334230_4823.jpg)