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,麻烦大佬们指正~
展开
1个回答
展开全部
你代码也没贴出来,很难说的清楚,我帮你说下造成的原因,然后你自己仔细检查。
造成这样的原因1:就是你指定的索引超出了范围,比如你一共才5列,你指定了索引为5就超出范围了,要指定4才行,因为索引是从0开始计算的。
第二点:就是你指定的列名可能错误,所以找不到的情况下也会提示索引超出范围。
比如你通过键来查找,数组.列集合["键名"],如果你指定的这个键名不存可能也会报这个错。
总之你自己检查下,看看你的表里一共有几列,当然隐藏的列也要算进去的。
造成这样的原因1:就是你指定的索引超出了范围,比如你一共才5列,你指定了索引为5就超出范围了,要指定4才行,因为索引是从0开始计算的。
第二点:就是你指定的列名可能错误,所以找不到的情况下也会提示索引超出范围。
比如你通过键来查找,数组.列集合["键名"],如果你指定的这个键名不存可能也会报这个错。
总之你自己检查下,看看你的表里一共有几列,当然隐藏的列也要算进去的。
追问
?????emmmmm我已经给了报错代码和前台对应的代码了呀。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询