将id值传递给gridview控件中的LinkBut​​ton服务器端事件

DNR*_*DNR 5 c# asp.net gridview linkbutton

我试图从我的gridview控件中的LinkBut​​ton传递CustomerID值到codebehind.我尝试了这里建议的解决方案,但它不起作用.

我的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)
{

}
Run Code Online (Sandbox Code Playgroud)

如何在EditCustomer事件中获取custID值?

Tim*_*ter 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>
Run Code Online (Sandbox Code Playgroud)

现在您可以处理LinkBut​​ton的Command事件:

void LinkButton_Command(Object sender, CommandEventArgs e) 
{
   String CustomerID = e.CommandArgument.ToString();
}
Run Code Online (Sandbox Code Playgroud)