索引值超出范围,必须为非负值并小于集合大小

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。

参数名: index

分析: 1.gridview的datasource是否重新做了绑定 2.是否设定了datakeynames属性

源错误:


行 50: mycmd.CommandType = CommandType.StoredProcedure;行 51: SqlParameter para_id = new SqlParameter("@id", SqlDbType.Int);行 52: para_id.Value = (int)gv_result.DataKeys[e.RowIndex].Value;行 53: mycmd.Parameters.Add(para_id);行 54: mycmd.ExecuteNonQuery();




昨天我在用gridview做数据删除时遇到这样一个问题,一直出现索引超出范围。必须为非负值并小于集合大小。参数名: index 的错误,郁闷了一阵子,后来才知道需要给Grewview绑定一个主键,也就是在Grewview属性中加入DataKeyNames="主键字段名",

(也可在绑定数据的时候加入,

gv_result.DataSource = mydr;

gv_result.DataKeyNames = new string[] { "mem_id"} ;

gv_result.DataBind) <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值