Cómo: Responder a los eventos de botón en elementos DataList o Repeater

Actualización: noviembre 2007

Si una plantilla de control DataList o Repeater incluye controles de servidor web Button, LinkButton o ImageButton, estos botones pueden enviar sus eventos Click al control contenedor DataList o Repeater. Esto permite incluir botones para funciones que aún no están definidas en el control DataList (editar, eliminar, actualizar y cancelar), así como definir la funcionalidad del control Repeater.

Para responder a eventos de botón en controles DataList y Repeater

  1. Incluya un control 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 contenedor. 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 ItemCommand 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.

    Protected Sub DataList1_ItemCommand(ByVal source As Object, _
            ByVal e As DataListCommandEventArgs)
        If e.CommandName = "AddToCart" Then
            ' Add code here to add the item to the shopping cart.
            ' Use the value of e.Item.ItemIndex to retrieve the data 
            ' item in the control.
        End If
    End Sub
    
    protected 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 retrieve the data 
          // item in the control.
       }
    }
    

    Para obtener un ejemplo de cómo se utiliza el control DataList de servidor Web, vea Cómo: Permitir que los usuarios seleccionen elementos en los controles DataList de servidor Web.

Vea también

Tareas

Cómo: Permitir que los usuarios editen elementos en controles DataList de servidor Web

Cómo: Permitir a los usuarios eliminar elementos en controles DataList de servidor Web

Cómo: Responder a eventos de botón en un control GridView

Referencia

Información general sobre DataList (Control de servidor Web)

Información general sobre Repeater (Control de servidor Web)