2011-11-25 36 views
4

我想通過我的gridview行並檢索每行的數據鍵值然後執行一些代碼來運行sql查詢。我如何獲得變量中每一行的數據鍵值?現在我收到一條錯誤消息:通過gridview循環並獲取數據鍵值

類型system.web.ui.webcontrols.datakey的值無法轉換爲整數。

這裏是我的代碼:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    For Each row As GridViewRow In GridView1.Rows 
     Dim therowindex As Integer = row.RowIndex 

     Dim theid As Integer = GridView1.DataKeys([therowindex]) 

     'execute some more code running queries using the data key value. 
    Next 
End Sub 

回答

6

你必須使用Value財產。

Dim theid As Integer = Integer.Parse(GridView1.DataKeys(therowindex).Value.ToString()) 
10

您可以通過.Rows訪問集合,然後找到該行的DataKey值。

foreach(GridViewRow row in GridView1.Rows) 
{ 
    string theDataKey = GridView1.DataKeys[row.RowIndex].Value.ToString(); 
    // Do something with your index/key value 
}