网格视图错误的行索引 asp.net
本文关键字:索引 asp net 视图 错误 网格 | 更新日期: 2023-09-27 18:34:52
我正在复选框的帮助下实现批量删除功能。但是当我像下面这样调用 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();
}
}
}
请让我知道我必须进行哪些更改
您应该按照Sandeep的说法添加gvRow.RowIndex
。
然后,您必须像这样绑定网格视图。
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
}
让我知道它是否有效
您可以使用以下代码
for (int i = 0; i < grdUser.Rows.Count; i++)
{
//Your logic and use grdUser.DataKeys[i].Value.ToString();
for delete
}