2010-05-15 128 views

回答

1

如果你在你的GridView使用模板字段,可以通過主鍵的CommandArgument屬性爲您選擇命令。例如:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:LinkButton ID="btnSelect" runat="server" Text="Select"         CommandName="select" CommandArgument='<%# Eval("My_Primary_Key") %>' /> 
    </ItemTemplate> 
</asp:TemplateField> 

然後,當用戶點擊「選擇」按鈕時,這觸發了GridView上的「RowCommand」事件。如果您捕獲這個事件,並檢查e.CommandArgument屬性,你就能夠獲得相應的行的主鍵,他們選擇的訪問:

protected void myGridView_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName.Equals("select", StringComparison.CurrentCultureIgnoreCase)) 
    { 
     int primaryKeyInteger = Convert.ToInt32(e.CommandArgument); 
     // Do other stuff ... 
    } 
} 

希望這有助於!

+0

我做了其他方式,因爲我使用EntityDataSource,但我猜這也會奏效。 – drasto 2010-05-19 21:27:12

0

您可以使用網格視圖的DataKeyNames字段屬性,或者您也可以把隱藏的價值,並綁定數據開往事件的數據。使用隱藏字段Gridview選擇的事件,你搜索發現隱藏的領域,並從那裏得到的價值。謝謝 以下鏈接將幫助你。

http://forums.asp.net/t/951615.aspx

0

你可以在GridView使用隱藏控制隱藏在主鍵

+0

確定可以說,我有一個主鍵我想改變的實體。但是,我如何從主鍵獲取實體本身? – drasto 2010-05-15 04:56:39

0

您可以使用主鍵轉到數據庫搜索記錄與主鍵的.so然後在程序中使用一個類來接收數據。(C#是屬性)

相關問題