2012-07-24 48 views
5

我想通過我的GridView控件中的LinkBut​​ton將一個CustomerID值傳遞給代碼隱藏。我嘗試瞭解決方案建議here,但它不起作用。在GridView控件中傳遞一個id值給LinkBut​​ton服務器端事件

我的GridView的代碼是:

<asp:TemplateField HeaderText="Last Name, First Name"> 
    <ItemTemplate> 
     <asp:LinkButton OnClick="EditCustomer" id="lbtnCustomerName" CommandName="CustomerName" Visible="true" runat="server" ToolTip="Click to edit customer."><%# DataBinder.Eval(Container.DataItem, "custLastName") + ", " + DataBinder.Eval(Container.DataItem, "custFirstName" + ", " + DataBinder.Eval(Container.DataItem, "custID")%></asp:LinkButton> 
    </ItemTemplate> 
</asp:TemplateField> 


protected void EditCustomer(Object sender, EventArgs e) 
{ 

} 

我怎樣才能在EditCustomer事件CUSTID價值?

+0

那不是僅僅是'sender.id'? – 2012-07-24 17:50:58

回答

10

Youc的傳遞CustomerIDCommandArgument

<asp:LinkButton OnClick="EditCustomer" id="lbtnCustomerName" 
    CommandArgument='<%#Eval("CustomerID")%>' 
    CommandName="CustomerName" 
    OnCommand="LinkButton_Command" 
    Visible="true" runat="server" 
    ToolTip="Click to edit customer."><%# DataBinder.Eval(Container.DataItem, "custLastName") + ", " + DataBinder.Eval(Container.DataItem, "custFirstName" + ", " + DataBinder.Eval(Container.DataItem, "custID")%> 
</asp:LinkButton> 

現在,您可以處理LinkBut​​ton的Command event

void LinkButton_Command(Object sender, CommandEventArgs e) 
{ 
    String CustomerID = e.CommandArgument.ToString(); 
} 
+0

謝謝蒂姆。代碼如何出現?我得到一個錯誤「沒有重載'EditCustomer'匹配委託'System.EventHandler'」 – DotNetRookie 2012-07-24 18:02:56

+0

@DotNetRookie:編輯我的答案,顯示你如何處理LinkBut​​ton的Command事件。 – 2012-07-24 18:15:42

+0

非常感謝@Tim – DotNetRookie 2012-07-24 18:34:58

相關問題