2012-09-05 75 views
0

我正在Visual Studio 2012中使用asp.net,c#製作網站。 我創建了一個網格視圖,它從我的sql服務器獲取數據,並創建了一個綁定到id_p的按鈕字段,id_p是從數據庫中獲取的一列數據。我正在嘗試獲取點擊該按鈕的行的id_p的數據。如何獲得datatextfield值

<asp:ButtonField ButtonType="Button" DataTextField="id_p" 
DataTextFormatString="Stavi u košaricu" Text="Button1" /> 

我需要的不是選定的行,只有id_p值,所以請問我該怎麼做?

回答

0

您需要處理在GridView中OnRowCommand事件像這樣:

<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView_RowCommand" 

,並創建一個ItemTemplateField顯示常規<asp:button>,而不是使用ButtonField柱:

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:Button ID="btn" runat="server" 
      CommandName="Something" CommandArgument='<%#Eval("id_p") %>' 
      Text="Stavi u košaricu" /> 
    </ItemTemplate> 
</asp:TemplateField> 

現在你處理RowCommand事件:

protected void GridView_RowCommand(Object sender, GridViewCommandEventArgs e) 
{ 
    string m_id = e.CommandArgument.ToString(); 
    if (e.CommandName == "Something") 
    { 
     //do something with m_id 
    } 
}  
+0

thx,那有效。 – user1649498