2012-06-18 68 views
0

我嘗試刪除的GridView和數據庫。我的記錄添加一個BoundField按鈕和的CommandName設置爲Deleterecord在RowCommand事件中,我想這個記錄的主鍵datakeys值刪除(主鍵值在網格視圖不顯示下面的代碼塊顯示了該事件(我嘗試顯示在文本框中鍵入一些數據)。如何獲得在GridView

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
     { 

      if (e.CommandName == "Deleterecord") 
      { 
       TextBox1.Text = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString(); 
        //bla bla 
      } 
     } 

我還設置

DataKeyName="sourceName" 

在gridview中,但它不是我的主要鍵

如果我點擊此按鈕,發生以下異常: 索引超出範圍。必須是非負數且小於集合的大小。 參數名稱索引: 我怎樣才能解決這個問題

+0

[在GridView RowCommand中獲取DataKey值]的可能重複(https://stackoverflow.com/questions/281 8203/get-datakey-values-in-gridview-rowcommand) – AsifAli72090

回答

0

使用此

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
     { 

      if (e.CommandName == "Deleterecord") 
      { 
LinkButton lb = (LinkButton)e.CommandSource; 
GridViewRow gvr = (GridViewRow)lb.NamingContainer; 

       TextBox1.Text = grid.DataKeys[gvr.RowIndex].Value.ToString(); 
        //bla bla 
      } 

這裏LinkButton應通過執行此RowCommand事件

欲瞭解更多信息控制的類型代替去Here

+0

謝謝你的回答,但不起作用 – Baper

+0

爲什麼現在有什麼問題? – yogi

+0

無法將類型爲「System.Web.UI.WebControls.GridView」的對象轉換爲鍵入「System.Web.UI.WebControls.Button」 – Baper

相關問題