System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。 20

stringsqlstr="updateado.dbo.adminListsetList='"+((TextBox)(GridView1.Rows[e.RowIndex]... string sqlstr = "update ado.dbo.adminList set List='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',Name='"+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "',Type='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "',Range='"+ GridView1.Rows[e.RowIndex].Cells[0].Controls[0].ToString().Trim() + "' where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";CellPadding="4"这是修改里面的更新语句的一部分。。。初学asp.net,麻烦大佬们指正~ 展开
 我来答
听风看海乐园
2019-08-08 · 超过17用户采纳过TA的回答
知道答主
回答量:26
采纳率:33%
帮助的人:1.8万
展开全部
你代码也没贴出来,很难说的清楚,我帮你说下造成的原因,然后你自己仔细检查。

造成这样的原因1:就是你指定的索引超出了范围,比如你一共才5列,你指定了索引为5就超出范围了,要指定4才行,因为索引是从0开始计算的。

第二点:就是你指定的列名可能错误,所以找不到的情况下也会提示索引超出范围。

比如你通过键来查找,数组.列集合["键名"],如果你指定的这个键名不存可能也会报这个错。

总之你自己检查下,看看你的表里一共有几列,当然隐藏的列也要算进去的。
追问
?????emmmmm我已经给了报错代码和前台对应的代码了呀。。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式