Передача значения идентификатора в событие на стороне сервера LinkButton в элементе управления gridview

Я пытаюсь передать значение CustomerID в программный код из моего LinkButton в моем элементе управления 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)
{

}

Как я могу получить значение custID в событии EditCustomer?


person DNR    schedule 24.07.2012    source источник
comment
Разве это не будет просто sender.id?   -  person Major Productions    schedule 24.07.2012


Ответы (1)


Вы можете передать CustomerID как CommandArgument:

<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>

Теперь вы можете обработать событие LinkButton Command:

void LinkButton_Command(Object sender, CommandEventArgs e) 
{
   String CustomerID = e.CommandArgument.ToString();
}
person Tim Schmelter    schedule 24.07.2012
comment
Спасибо, Тим. Как будет выглядеть код позади? Я получаю сообщение об ошибке Нет перегрузки для 'EditCustomer' соответствует делегату 'System.EventHandler' - person DNR; 24.07.2012
comment
@DotNetRookie: отредактировал мой ответ, чтобы показать, как вы обрабатываете событие Command LinkButton. - person Tim Schmelter; 24.07.2012