2012-06-29 45 views
0

我有一個網格在asp中,數據鍵說'job_no', 我提供了一個onrowedit事件並將事件pararameter存儲在'e'中通常,這樣的爲什麼我不能得到e.RowIndex行編輯命令的網格視圖

protected void gvDetails_RowUpdating(object sender, GridViewUpdateEventArgs e) 

但是當我嘗試訪問使用行索引這樣的行的相關數據鍵值,

int id = Convert.ToInt32(gvDetails.DataKeys[e.RowIndex].Value.ToString()); 

,它給了我一個錯誤說「E」沒有按」沒有一個名爲RowIndex的屬性。

爲什麼會發生這種情況,是否有其他方式獲取編輯的當前行的數據鍵值?

回答

1

正確一個如下:

int id = Int32.Parse(gvDetails.DataKeys[Int32.Parse(e.NewEditIndex.ToString())].Values["job_no"].ToString()); 
+0

[]是用於數組索引。 DataKeys是一個集合'公共虛擬DataKeyArray DataKeys {get; 「所以他正在採用該陣列的索引。 –

+0

我想我使用正確的語法,因爲我已經使用了另一種形式的相同的事情,但那次爲rowupdate事件,而不是rowedit事件....無論如何改變[]到()沒有幫助 – Snedden27

+0

你可以嘗試第二個.. @ Snedden27 –

相關問題