int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString()); 行报错索引超出范围。必须为非负值
for(inti=0;i<GridView1.Rows.Count;i++){CheckBoxchb=(CheckBox)GridView1.Rows[i].FindCo...
for (int i = 0; i < GridView1.Rows.Count; i++)
{
CheckBox chb = (CheckBox)GridView1.Rows[i].FindControl("chbID");
if (chb.Checked==true)
{
int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString());
string ImagePath = Server.MapPath(N.GetNewById(ID).vc_ImageUrl);
switch (N.DalateItemById(ID))
{
case 1:
QB.CommonLib.FileHelper.FilePicDelete(ImagePath);
QB.CommonLib.JavaScriptHelper.AlertAndRedirect("删除成功", "Index.aspx");
break;
default:
QB.CommonLib.JavaScriptHelper.AlertAndGoHistory("删除失败", -1);
break;
}
}
}
其中int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString()); 行报错
索引超出范围。必须为非负值并小于集合大小。
参数名: index 展开
{
CheckBox chb = (CheckBox)GridView1.Rows[i].FindControl("chbID");
if (chb.Checked==true)
{
int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString());
string ImagePath = Server.MapPath(N.GetNewById(ID).vc_ImageUrl);
switch (N.DalateItemById(ID))
{
case 1:
QB.CommonLib.FileHelper.FilePicDelete(ImagePath);
QB.CommonLib.JavaScriptHelper.AlertAndRedirect("删除成功", "Index.aspx");
break;
default:
QB.CommonLib.JavaScriptHelper.AlertAndGoHistory("删除失败", -1);
break;
}
}
}
其中int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString()); 行报错
索引超出范围。必须为非负值并小于集合大小。
参数名: index 展开
3个回答
展开全部
for (int i = 0; i < GridView1.Rows.Count; i++) 这里i是从0 开始的。
int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString());
看看数据库里你id是多少开始的。
int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString());
看看数据库里你id是多少开始的。
追问
是1开始的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,我遇到了相同的问题,请您把你找到的答案分享一下呗~~~谢谢!!!
追问
将:int ID =Convert.ToInt32( GridView1.DataKeys[i].Value.ToString());
改成:int ID = Convert.ToInt32(GridView1.Rows[i].Cells[0].Text);
id设在GridView的第一行用Cells[0]
追答
非常感谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for (int i = 0; i < GridView1.Rows.Count; i++)
改成
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
改成
for (int i = 0; i < GridView1.Rows.Count - 1; i++)
追问
呵呵,谢谢,
不过还是不行,我是在button1_Click事件中执行批量删除的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询