2012-03-04 29 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

回答