Compartir a través de


Información general sobre CheckBox y CheckBoxList (Controles de servidor Web)

Actualización: noviembre 2007

Puede utilizar dos tipos de controles de servidor Web para agregar casillas de verificación a una página de formularios Web Forms: controles CheckBox individuales o un control CheckBoxList. Ambos controles proporcionan a los usuarios la posibilidad de introducir datos de tipo Boolean: verdadero o falso (true o false), sí o no (yes o no).

Nota:

También puede utilizar el control HtmlInputCheckBox para agregar casillas de verificación a una página de formularios Web Forms. Para obtener más información, vea Sintaxis declarativa del control de servidor HtmlInputCheckBox.

El control CheckBox y el control CheckBoxList

Puede agregar controles CheckBox individuales a una página y utilizarlos por separado. En cambio, el control CheckBoxList es un control único que actúa como control primario para una colección de elementos de lista de casillas de verificación. Este control proviene de una clase base ListControl y, por consiguiente, funciona como los controles de servidor Web ListBox, DropDownList, RadioButtonList y BulletedList. Por esta razón, muchos de los procedimientos para trabajar con el control CheckBoxList son los mismos que se utilizan para otros controles de lista de servidor Web.

Cada tipo de control tiene sus ventajas. Al utilizar controles CheckBox individuales, tendrá mayor control sobre la distribución de las casillas de verificación en la página que si utiliza el control CheckBoxList. Por ejemplo, puede incluir texto (es decir, texto no perteneciente a casillas de verificación) entre las casillas de verificación. También puede controlar la fuente y el color de cada casilla de verificación.

El control CheckBoxList es preferible si se desea crear una serie de casillas de verificación a partir de los datos de una base de datos. (También puede enlazar un control CheckBox individual a datos.)

Eventos de CheckBox

Los eventos funcionan de forma diferente en los controles CheckBox individuales y en el control CheckBoxList.

Controles CheckBox individuales

Los controles CheckBox individuales desencadenan el evento CheckedChanged cuando el usuario hace clic en el control. De forma predeterminada, este evento no envía la página al servidor, aunque es posible forzar el envío inmediato si se establece la propiedad AutoPostBack en true. Para obtener información detallada acerca de cómo se responde directamente a este evento, vea Cómo: Responder a la selección del usuario en un control CheckBox de servidor Web.

Nota:

La capacidad de un control CheckBox de realizar envíos al servidor cuando se activa requiere que el explorador sea compatible con ECMAScript (JavaScript) y que esté habilitado el uso de secuencias de comandos en el explorador del usuario.

Tanto si el control CheckBox hace envíos al servidor como si no los hace, puede que no sea necesario crear un controlador para el evento CheckedChanged. Puede comprobar qué casilla de verificación se ha seleccionado en el controlador. Normalmente, sólo se crea un controlador de eventos para el evento CheckedChanged si es necesario conocer qué casilla de verificación se ha modificado, y no para leer solamente el valor de una casilla de verificación.

Atributos HTML del control CheckBox

Cuando el control CheckBox se representa en el explorador, lo hace en dos partes: en un elemento input que representa la casilla de verificación y en un elemento label distinto que representa el título de esta casilla de verificación. La combinación de los dos elementos está incluida a su vez en un elemento span.

Cuando aplica la configuración de estilo o de los atributos a un control CheckBox, ésta se aplica al elemento span exterior. Por ejemplo, si establece la propiedad BackColor del control, la configuración se aplica al elemento span y, por tanto, afecta a los atributos internos input y label.

En ocasiones, es posible que desee configurar de forma distinta la casilla de verificación y la etiqueta. El control CheckBox admite dos propiedades que se pueden definir en tiempo de ejecución: la propiedad InputAttributes y la propiedad LabelAttributes. Cada propiedad permite agregar atributos HTML a los elementos input y label, respectivamente. Los atributos que defina se trasferirán al explorador. Por ejemplo, en el código siguiente se muestra cómo se establecen los atributos del elemento input para que sólo cambie el color de la casilla de verificación cuando el usuario pase el puntero del mouse (ratón) sobre él, pero no cambie el color de la etiqueta.

[Visual Basic]

CheckBox1.InputAttributes.Add("onmouseover", _
    "this.style.backgroundColor = 'red'")
CheckBox1.InputAttributes.Add("onmouseout", _
    "this.style.backgroundColor = 'white'")
CheckBox1.InputAttributes.Add("onmouseover", 
    "this.style.backgroundColor = 'red'");
CheckBox1.InputAttributes.Add("onmouseout", 
    "this.style.backgroundColor = 'white'");

Control CheckBoxList

Por el contrario, el control CheckBoxList desencadena un evento SelectedIndexChanged cuando los usuarios activan cualquier casilla de verificación de la lista. De forma predeterminada, este evento no envía el formulario al servidor, aunque se puede especificar esta opción estableciendo la propiedad AutoPostBack en true.

Como sucede con los controles CheckBox individuales, es más habitual comprobar el estado del control CheckBoxList una vez que se ha enviado el control de algún otro modo.

Enlazar datos al control

Como ocurre con cualquier control de servidor Web, puede enlazar un control CheckBox individual a un origen de datos y enlazar cualquier propiedad del control CheckBox a cualquier campo del origen de datos. Por ejemplo, es habitual establecer la propiedad Checked del control a partir de la información de una base de datos.

También puede enlazar un control CheckBoxList a un origen de datos. En ese caso, cada casilla de verificación representa un registro diferente del origen de datos.

Vea también

Tareas

Cómo: Determinar la selección en controles List de servidor Web

Cómo: Responder a los cambios en controles List de servidor Web

Otros recursos

Cómo: Agregar controles CheckBox de servidor Web a una página de formularios Web Forms

Cómo: Agregar controles CheckBoxList de servidor Web a una página de formularios Web Forms

Cómo: Agregar elementos a controles List de servidor Web

Cómo: Rellenar controles List de servidor Web desde un origen de datos

Cómo: Establecer la selección en controles List de servidor Web