Cómo: Responder a eventos Button en controles enlazados a datos

Cambiar vista:
Sin script
ASP.NET
Cómo: Responder a eventos Button en controles enlazados a datos

Actualización: noviembre 2007

Si está utilizando una control enlazado a datos con plantillas (como un control DataList o FormView) y las plantillas incluyen controles de servidor Web Button, LinkButton o ImageButton, entonces los botones pueden reenviar sus eventos Click al control contenido. Esto le permite incluir los botones para la funcionalidad personalizada aún no definidos para el control enlazado a datos (como edición, eliminar, actualizar y cancelar).

Para responder a los eventos de botón en controles enlazados a datos

  1. Agregue un Button, LinkButton o ImageButton en una plantilla de control.

  2. Establezca la propiedad CommandName del botón en una cadena que identifique su función, como "sort" o "copy".

  3. Cree un método para el evento ItemCommand del control. En el método, haga lo siguiente:

    1. Compruebe la propiedad CommandName del objeto argumento del evento para ver qué cadena de comando se ha transferido.

    2. Ejecute la lógica adecuada para el botón en que hizo clic el usuario.

    En el ejemplo siguiente se muestra cómo se puede responder a un clic del botón en un control DataList. En el ejemplo, la propiedad ItemTemplate contiene un control ImageButton que muestra un carro de la compra. El botón envía el comando AddToCart. El controlador de eventos determina el botón en que se hizo clic y, si fue el botón del carro de la compra, ejecuta la lógica correspondiente.

    Visual Basic
    Private Sub DataList1_ItemCommand(ByVal source As Object, _
            ByVal e As DataListCommandEventArgs) _
            Handles DataList1.ItemCommand
        If (e.CommandName = "AddToCart") Then
           ' Add code here to add the item to the shopping cart.
           ' Use the value of e.Item.ItemIndex to find the data row
           ' in the data source.
        End If
    End Sub
    

    C#
    private void DataList1_ItemCommand(object source, 
        DataListCommandEventArgs e)
    {
        if (e.CommandName == "AddToCart")
        {
            // Add code here to add the item to the shopping cart.
            // Use the value of e.Item.ItemIndex to find the data row
            // in the data source.
        }
    }
    
Vea también

Tareas

Conceptos