2012-07-24 21 views
5

Estoy intentando pasar un valor CustomerID al código subyacente, desde mi LinkButton en mi control gridview. Intenté la solución sugerida here pero no funciona.Pasar un valor de id. Al evento secundario del servidor LinkButton en el control gridview

Mi código es 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) 
{ 

} 

¿Cómo puedo obtener el valor custID en caso EditCustomer?

+0

¿No sería simplemente 'sender.id'? –

Respuesta

10

youc un pase de la CustomerID como 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> 

Ahora se puede manejar de Command event la LinkButton:

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

Gracias Tim. ¿Cómo aparecerá el código detrás? Me aparece un error "No hay sobrecarga para 'EditCustomer' coincide con delegar 'System.EventHandler'" – DotNetRookie

+0

@DotNetRookie: Edité mi respuesta para mostrar cómo manejas el evento Command de LinkButton. –

+0

Muchas gracias @Tim – DotNetRookie

Cuestiones relacionadas