我的代码隐藏页面中有一个带有复选框的gridview。功能是我需要使用复选框选择要删除的记录,然后单击删除按钮。我使用下面的代码来做那个..但是当我选择最后一行时它不会被删除。相反,它会抛出IndexOutOfRange / System.FormatException ..
此行抛出错误
CheckBox chkb = (CheckBox)gvAll.Rows[i].Cells[0].FindControl("chk");
for (int i = 0; i < count; i++)
{
CheckBox chkb = (CheckBox)gvAll.Rows[i].Cells[0].FindControl("chk");
if (chkb.Checked == true)
{
string name = gvAll.Rows[i].Cells[3].Text;
if (!(name.Equals(System.DBNull.Value)))
{
a.delete(name);
}
}
}
这是一个紧迫的问题。请帮忙..
答案 0 :(得分:1)
foreach怎么样?
foreach(GridViewRow row in gvAll.Rows)
{
CheckBox chkb = (CheckBox)row.Cells[0].FindControl("chk");
if (chkb.Checked == true)
{
string name = row.Cells[3].Text;
if (!(name.Equals(System.DBNull.Value)))
{
a.delete(name);
}
}
}