我在Checkbox的帮助下实现批量删除功能。但是当我打电话给下面的ID时
string Id = grdUser.DataKeys[e.RowIndex].Value.ToString();
我收到错误
System.EventArgs不包含
RowIndex
的定义。
我不知道为什么会这样。请参阅我的代码供您参考: -
protected void btnDelete_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvRow in grdUser.Rows)
{
CheckBox chkDelete = (CheckBox)grdUser.FindControl("chkDelete");
if (chkDelete.Checked)
{
string Id = grdUser.DataKeys[e.RowIndex].Value.ToString();
}
}
}
让我知道我必须做出哪些改变
答案 0 :(得分:1)
您应该按照Sandeep的说明添加gvRow.RowIndex
。
然后你必须像这样绑定你的gridview。
protected void btnDelete_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvRow in grdUser.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
CheckBox chkDelete = (CheckBox)gvRow.FindControl("chkDelete");
if (chkDelete.Checked)
{
string Id = grdUser.DataKeys[gvRow.RowIndex].Value.ToString();
DeleteRecordByID(Id);
}
}
}
//Bind your Gridview here
}
让我知道它是否有效
答案 1 :(得分:0)
您可以使用以下代码
for (int i = 0; i < grdUser.Rows.Count; i++)
{
//Your logic and use grdUser.DataKeys[i].Value.ToString();
for delete
}