我正在关注here的教程。
但是我在需要grep被检查行的主键的部分被卡住了。
以下是我目前的代码:
protected void DeleteChecked_Click(object sender, EventArgs e)
{
bool atLeastOneRowDeleted = false;
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox cb = (CheckBox)row.FindControl("UserSelector");
if (cb != null && cb.Checked)
{
atLeastOneRowDeleted = true;
int employeeID = Convert.ToInt32(GridView1.DataKeys[row.RowIndex].Value);
SqlDataSource1.SelectCommand = "DELETE FROM [UserDB] where Employee like " +employeeID;
SqlDataSource1.DataBind();
}
}
}
我不知道应该改变什么,以及如何在GridView上grep我的'Employee'变量,以便我可以将它插入到DELETE语句中。
下面是我的示例GridView以及我现在遇到的错误。
答案 0 :(得分:1)
在该行上设置断点并查看GridView1.DataKeys的值。我打赌那个数组中没有键,所以DataKeys [0]会抛出异常。
答案 1 :(得分:0)
试试这个
int employeeID= Convert.Toint32(GridView1.Rows[row.RowIndex].Cells["Employee"].Value);