【转载】asp.net中GridView索引超出范围。必须为非负值并小于集合大小

     在练习gridview的编辑更新获取其中的主键ID时,出现错误:索引超出范围。必须为非负值并小于集合大小。参数名: index ,并且调试信息错误出现在此句:

      //获取选择行的主键
      string aa = GridView2.DataKeys[e.RowIndex].Value.ToString();

     其中e.RowIndex 是指:当前行的索引值。数据库中已经设置主键,此句代码是为了获取当前行的主键。

 

    出现的原因是:没有填充DataKeyNames     (DataKeyNames 属性指定表示数据源主键的字段。)

   在引用DataKeys时,需要填充DataKeys填充数据源。

   解决的办法:在gridview属性窗口中直接给DataKeyNames赋值(表中主键字段)即可。


你可能感兴趣的:(【转载】asp.net中GridView索引超出范围。必须为非负值并小于集合大小)