2014-02-18 38 views
0

我有一個LinqDataSource,它將數據提供給ASP Web Form中的GridView。但是,在我的GridView中,我沒有顯示我的SQL表的所有列(因此我的LINQ類)。現在我想從我的GridView.SelectedItem中獲取主鍵值(讓我們稱之爲RecordID)。如何訪問綁定到SelectedItem的LINQ類對象,以便我可以訪問該對象的屬性?從GridView獲取LINQ類項目屬性SelectedItem

+0

我通常不使用一個LinqDataSource。我創建了一個方法,通過linq調用Stored Procedure或Table,然後將其綁定到一個控件。這使我可以在綁定它之前對List或IEnumerable對象執行所需操作。 – PhillyNJ

回答

0

您可以指定下面的GridView的datakeynames屬性:

<asp:gridview id="CustomersGridView" 
    datasourceid="CustomersSource" 
    autogeneratecolumns="true" 
    emptydatatext="No data available." 
    autogenerateselectbutton="true"  
    datakeynames="CustomerID" 
    onselectedindexchanged="CustomersGridView_SelectedIndexChanged" 
    runat="server"> 

    </asp:gridview> 

然後在後面選擇行的datakey(S)的代碼可以如下訪問:

void CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e) 
{ 

    // Determine the index of the selected row. 
    int index = CustomersGridView.SelectedIndex; 

    // Display the primary key value of the selected row. 
    Message.Text = "The primary key value of the selected row is " + 
    CustomersGridView.DataKeys[index].Value.ToString() + "."; 

} 
+0

PaulThere對此數組的成員沒有Value屬性。 – ArtK