Gridview Rowcommand Datakey выдает ошибку индекса вне диапазона - PullRequest
0 голосов
/ 05 марта 2012

Я добавил кнопку с именем резерва в свой вид сетки, и когда я щелкаю ее, я хочу внести некоторые изменения в вид сетки, однако она выдает ошибку индекса вне диапазона. Ниже приведен метод 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();
        }            
    }

Ниже приведены мои столбцы gridview:

        <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>

1 Ответ

1 голос
/ 05 марта 2012

Вам нужно установить DataKeyNames, если вы хотите использовать выражение DataKey [index]
См. MSDN здесь

...