2012-03-04 62 views
0

我已经添加了一个名为reserve的按钮到我的gridview,当我点击它时,我想对gridview做一些修改,但是它给索引超出了范围错误。下面是rowCommand方法:Gridview Rowcommand Datakey给索引超出范围错误

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

你设置来设置的DataKeyNames DataKeyNames在你的gridview? – Steve 2012-03-04 21:25:22

+0

这解决了这个问题,请把它写成答案,我会接受它,我需要数据键来修改数据吗? – HOY 2012-03-05 17:08:57

回答