Gridview中的IndexOutOfRange / System.FormatException

时间:2012-06-01 10:51:27

标签: c# asp.net

我的代码隐藏页面中有一个带有复选框的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);
                 }
             }
         }

这是一个紧迫的问题。请帮忙..

1 个答案:

答案 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); 
             } 
         } 
     }