Gridview Rowcommand Datakey给出的索引超出范围错误
本文关键字:范围 错误 索引 Datakey Gridview Rowcommand | 更新日期: 2023-09-27 18:26:55
我在我的网格视图中添加了一个名为reserve的按钮,当我单击它时,我想对网格视图进行一些修改,但它会给出索引超出范围的错误。下面是rowCommand方法:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
if (row.RowType == DataControlRowType.DataRow)
{
welcomeUser.InnerText = GridView1.DataKeys[index].Value.ToString();
}
}
以下是我的网格视图列:
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" />
<asp:BoundField DataField="BookName" HeaderText="BookName"
SortExpression="BookName" />
<asp:ButtonField ButtonType="Button" Text="Reserve" CommandName="Reverse" />
</Columns>
如果要使用DataKey[index]表达式,则需要设置DataKeyNames
请参阅MSDN此处的