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

Cambiar vista:
Sin script
ASP.NET
Información general sobre Button (Control de servidor Web)

Mediante los controles Button de servidor Web de ASP.NET, las páginas Web ASP.NET permiten a los usuarios indicar que han finalizado el formulario o que desean ejecutar un comando concreto. Los controles de servidor Web incluyen tres tipos de botones, cada uno de los cuales aparece de manera diferente en las páginas Web.

Tipos de botones

En la tabla siguiente se muestran los tipos de botones que se pueden crear mediante los controles de servidor Web.

Control Descripción

Control Button de servidor Web

Presenta un botón de comando estándar, que se representa como un elemento input HTML.

Control LinkButton de servidor Web

Se representa como un hipervínculo en la página. No obstante, contiene una secuencia de comandos del lado cliente que hace que el formulario se devuelva al servidor. (Puede crear un hipervínculo real mediante el control HyperLink de servidor Web.)

Control ImageButton de servidor Web

Permite especificar un gráfico como botón. Esto es útil para representar los botones con una apariencia más rica. Los controles ImageButton determinan con precisión el punto en el que hizo clic el usuario, lo que permite utilizar el botón como si fuera un mapa de imagen.

NoteNota

También puede utilizar los controles HtmlButton y HtmlInputButton para crear botones en la página que se puedan programar en el código del servidor. Para obtener información detallada sobre las diferencias que existen entre los controles HTML y los controles de servidor Web, vea Información general sobre los controles de servidor Web ASP.NET.

Eventos de los controles Button

Cuando un usuario hace clic en cualquiera de estos tres tipos de botones, se envía un formulario al servidor. Esto hace que se procese la página Web y que se desencadenen los eventos pendientes en el código del servidor. Los botones pueden desencadenar también sus propios eventos Click, para los que se pueden escribir controladores de eventos.

Controles Button y validación

Si una página contiene controles de validación de ASP.NET, de forma predeterminada, al hacer clic en un control Button, el control de validación realiza su comprobación. Si la validación del cliente se habilita en un control de validación, no se envía la página si se produce un error en una comprobación de validación.

En la tabla siguiente se describen las propiedades admitidas por los controles Button que permiten controlar el proceso de validación con más precisión.

Propiedad Descripción

Propiedad CausesValidation

Especifica si al hacer clic en el botón, también se realiza una comprobación de validación. Establezca esta propiedad en false para impedir que se ejecute una comprobación de validación.

Propiedad ValidationGroup

Permite especificar qué controles de validación de la página se invocan cuando se hace clic en el botón. Si no se ha establecido ningún grupo de validaciones, al hacer clic en el botón se invocan los controles de validación que están en la página.

Para obtener más información, vea Validar la información especificada por el usuario en páginas Web ASP.NET.

Comportamiento de devolución de los botones

Cuando los usuarios hacen clic en un botón, la página se envía al servidor. De forma predeterminada, la página se envía a sí misma, donde se vuelve a crear la misma página y se procesan los controladores de eventos de los controles de la página.

Puede configurar los botones para que envíen la página actual a otra página. Esto puede resultar útil para crear formularios de varias páginas. Para obtener información detallada, vea Envío entre páginas en las páginas Web ASP.NET.

De forma predeterminada, el control Button envía la página mediante una operación HTML POST. Los controles LinkButton y ImageButton no pueden admitir directamente una operación HTML POST. Por tanto, cuando se utilizan esos botones, agregan la secuencia de comandos del cliente a la página, que permite a los controles enviar la página mediante programación. (Los controles LinkButton y ImageButton requieren por tanto que esa secuencia de comandos del cliente esté habilitada en el explorador.)

En determinados casos quizás desee que el control Button utilice también la secuencia de comandos del cliente para realizar la devolución de datos. Esto puede resultar útil si quiere manipular la devolución de datos mediante programación, para adjuntarla, por ejemplo, a otros elementos de la página. Puede establecer la propiedad UseSubmitBehavior del control Button en true para hacer que el control Button utilice una devolución de datos basada de la secuencia de comandos de cliente.

Controlar los eventos del cliente en los controles Button

Los controles Button pueden desencadenar eventos de servidor y eventos de cliente. Los eventos de servidor se producen después de la devolución de datos y se controlan en el código del servidor que se ha escrito para la página. Los eventos de cliente se controlan en una secuencia de comandos del cliente, normalmente ECMAScript (JavaScript), y se desencadenan antes de que se envíe la página. Si agrega eventos de cliente a los controles Button de ASP.NET , puede realizar tareas, como mostrar los cuadros de diálogo de confirmación antes de enviar la página y cancelar el posible envío. Para obtener más información, consulte Secuencias de comandos del cliente en páginas Web ASP.NET y Cómo: Responder a los eventos de un control Button de servidor Web en una secuencia de comandos del cliente.

Botones en controles de datos

Los controles Button de servidor Web se utilizan a menudo en controles de datos, como en los controles de lista DataList, GridView y Repeater. Cuando esto ocurre, debe responderse por lo general de manera diferente a los eventos de los controles Button que cuando estos controles se utilizan exclusivamente en un formulario. Cuando un usuario hace clic en un botón que está en un control de datos, el mensaje de evento se envía el control de datos, donde se desencadena un evento específico de ese control de datos. Por ejemplo, en el control DataList, un botón podría desencadenar el evento ItemCommand del control DataList en lugar del evento Click del control Button.

Dado que los controles de lista de servidor Web pueden contener muchos botones diferentes, puede establecer la propiedad CommandArgument del botón para especificar un valor que se transfiera como parte del evento. Después, podrá comprobar este argumento para ver en qué botón se hizo clic.

Enlazar datos a los controles

Puede enlazar los controles Button de servidor Web a un origen de datos para controlar dinámicamente la configuración de sus propiedades. Por ejemplo, puede establecer la propiedad Text de los botones a través del enlace de datos.

Vea también

Tareas

Cómo: Agregar eventos de secuencias de comandos de cliente a los controles de servidor Web ASP.NET

Conceptos

Secuencias de comandos del cliente en páginas Web ASP.NET
Envío entre páginas en las páginas Web ASP.NET