2012-07-24 76 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

相关问题