Crear casillas mutuamente excluyentes (VB)

de Christian Wenz

Descargar PDF

Cuando solo se puede seleccionar uno de un conjunto de opciones, normalmente se usan botones de radio. Sin embargo, hay un inconveniente: una vez seleccionado un botón de radio en un grupo, no es posible desactivar todos los botones de radio. Las casillas se pueden desactivar en cualquier momento, pero no se excluyen mutuamente. Este tutorial proporciona lo mejor de ambos enfoques: casillas que son mutuamente excluyentes.

Visión general

Cuando solo se puede seleccionar uno de un conjunto de opciones, normalmente se usan botones de radio. Sin embargo, hay un inconveniente: una vez seleccionado un botón de radio en un grupo, no es posible desactivar todos los botones de radio. Las casillas se pueden desactivar en cualquier momento, pero no se excluyen mutuamente. Este tutorial proporciona lo mejor de ambos enfoques: casillas que son mutuamente excluyentes.

Pasos

El kit de herramientas de control de AJAX de ASP.NET contiene el extensor MutuallyExclusiveCheckBox. Esto permite a los programadores asignar cualquier casilla a un nombre de grupo (Key atributo). En todas las casillas del mismo grupo, solo se puede seleccionar una al mismo tiempo.

Comencemos con la colocación de dos casillas en una nueva página de ASP.NET. Puede haber más, pero dos de ellas bastan para demostrar el principio:

<asp:CheckBox ID="cbYes" runat="server" />Yes
<asp:CheckBox ID="cbNo" runat="server" />No

Para ambas casillas, se debe colocar un control MutuallyExclusiveCheckBoxExtender en la página. Ambos atributos key deben tener el mismo valor, al igual que los atributos de valor de los elementos de botón de radio HTML deben ser idénticos para indicar el grupo al que pertenecen. La propiedad TargetControlID del extensor apunta al identificador de la casilla.

<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe1" runat="server"
 TargetControlID="cbYes" Key="YesNo" />
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe2" runat="server"
 TargetControlID="cbNo" Key="YesNo" />

Por último, incluya el ASP.NET AJAX ScriptManager que requiere todos los elementos del kit de herramientas de control de AJAX de ASP.NET:

<asp:ScriptManager ID="asm" runat="server" />

Guardar y ejecutar la página: Puede seleccionar y deseleccionar ambas casillas, pero en ningún momento pueden estar ambas casillas seleccionadas.

Solo se puede activar una casilla a la vez

Solo se puede activar una casilla a la vez (haga clic para ver la imagen de tamaño completo).