Información general sobre RadioButton y RadioButtonList (Controles de servidor Web)

Actualización: noviembre 2007

Los controles RadioButton y RadioButtonList permiten a los usuarios seleccionar opciones de entre un pequeño conjunto de opciones predefinidas mutuamente excluyentes.

Este tema contiene:

  • Características

  • Background

  • Ejemplos de código

  • Referencia de clase

Características

Puede utilizar los controles CheckBox y CheckBoxList para hacer lo siguiente:

  • Generar una devolución de datos de página cuando se selecciona un botón de opción.

  • Capturar la interacción del usuario cuando un usuario selecciona un botón de opción.

  • Enlazar cada botón de opción a los datos de una base de datos.

Volver al principio

Background

Puede utilizar dos tipos de controles de servidor Web para agregar botones de opción a una página Web ASP.NET: controles RadioButton individuales o un control RadioButtonList. Ambos controles permiten a los usuarios seleccionar opciones de entre un pequeño conjunto de opciones predefinidas mutuamente excluyentes. Los controles permiten definir cualquier número de botones de opción con etiquetas y organizarlos de forma horizontal o vertical.

Puede agregar controles RadioButton individuales a una página y utilizarlos por separado. Normalmente, agrupará dos o más botones individuales.

Como alternativa, puede usar el control RadioButtonList, que es un control único que actúa como control primario de una colección de elementos de lista de botones de opción. Se deriva de la clase ListControl base. Por lo tanto, funciona como los controles de servidor web ListBox, DropDownList, BulletedList y CheckBoxList. Muchos de los procedimientos que se usan al trabajar con el control RadioButtonList son los mismos que se usan con otros controles de lista de servidor web.

Ambos tipos de controles ofrecen una serie de ventajas. Si usa controles RadioButton individuales, tendrá un mayor control sobre el diseño del grupo de botones de opción que si usa el control RadioButtonList. Por ejemplo, puede incluir texto que no pertenezca a botones de opción entre los botones de opción.

Es preferible que use el control RadioButtonList si desea crear un grupo de botones de opción basado en datos de un origen de datos. También resulta algo más fácil escribir código que determine qué botón se ha seleccionado.

Nota:

También puede usar el control de servidor HtmlInputRadioButton para agregar botones de opción a una página web ASP.NET. Para obtener más información, vea Sintaxis declarativa del control de servidor HtmlInputRadioButton.

Si desea presentar a los usuarios una lista más larga de opciones o una lista cuya longitud pueda variar en tiempo de ejecución, utilice un control de servidor Web ListBox o DropDownList.

Agrupar botones de opción

Los botones de opción rara vez se utilizan solos. Se suelen agrupar para proporcionar un conjunto de opciones mutuamente excluyentes. Dentro de un grupo de botones de opción, sólo es posible seleccionar los botones de uno en uno. Para crear botones de opción agrupados, puede seguir uno de los siguientes procedimientos:

  • Agregue controles RadioButton de servidor Web a una página y, a continuación, agréguelos todos a un grupo manualmente. El nombre de grupo es arbitrario; todos los botones de opción que tienen el mismo nombre de grupo se consideran parte de un solo grupo.

  • Agregue un control RadioButtonList de servidor Web a la página. Los elementos de lista del control se agrupan automáticamente.

Eventos RadioButton y RadioButtonList

Los eventos funcionan de forma diferente en los controles RadioButton individuales y en el control RadioButtonList.

Controles RadioButton individuales

Los controles RadioButton individuales desencadenan el evento CheckedChanged cuando el usuario hace clic en el control. (Este evento se hereda del control CheckBox.) De forma predeterminada, este evento no expone la página en el servidor. Sin embargo, puede obligar al control a realizar una devolución de datos inmediata estableciendo 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 de un usuario en un grupo de controles RadioButton de servidor Web.

Nota:

La característica de devolución de datos automática requiere que el explorador admita ECMAScript (JScript o JavaScript) y que el scripting esté habilitado en el explorador del usuario.

Es posible que no necesite crear un controlador de eventos para el evento CheckedChanged. Puede probar qué botón de opción está seleccionado en cualquier código que se ejecute como parte de la página. Normalmente, sólo tendrá crear un controlador de eventos para el evento CheckedChanged si necesita saber qué botón de opción se ha modificado, y no simplemente para leer la selección actual. Para obtener información detallada, vea Cómo: Establecer y obtener la selección de un control RadioButton de servidor Web.

Control RadioButtonList

El control RadioButtonList desencadena un evento SelectedIndexChanged cuando los usuarios cambian el botón de opción seleccionado en la lista. De forma predeterminada, el evento no expone la página en el servidor. Sin embargo, puede obligar al control a realizar una devolución de datos inmediata estableciendo la propiedad AutoPostBack en true. Para obtener información detallada, vea Cómo: Responder a los cambios en controles List de servidor Web.

Nota:

La característica de devolución de datos automática requiere que el explorador admita ECMAScript (JScript o JavaScript) y que el scripting esté habilitado en el explorador del usuario.

Como sucede con los controles RadioButton individuales, es más habitual comprobar el estado del control RadioButtonList una vez que se haya expuesto la página de algún otro modo. Para obtener información detallada, vea Cómo: Determinar la selección en controles List de servidor Web.

Atributos HTML del control RadioButton

Cuando el control RadioButton se representa en el explorador, lo hace en dos partes: en un elemento input que representa el botón de opción y en un elemento label distinto que representa el título del botón de opción. La combinación de los dos elementos se incluye en un elemento span.

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

Es posible que en ocasiones desee configurar por separado el botón de opción y la etiqueta. El control RadioButton admite dos propiedades que puede establecer en tiempo de ejecución. La propiedad InputAttributes permite agregar atributos HTML al elemento input, y la propiedad LabelAttributes permite agregar atributos HTML al elemento label. Los atributos que defina se trasferirán al explorador. En el ejemplo siguiente se muestra cómo establecer atributos para el elemento input de modo que al pasar el puntero sobre el botón de opción sólo cambie de color el botón de opción, pero no el color de la etiqueta.

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

Enlazar datos al control

Puede enlazar un control RadioButton individual a un origen de datos y enlazar cualquier propiedad del control RadioButton a cualquier campo del origen de datos. Por ejemplo, podría establecer la propiedad Text del control a partir de la información de una base de datos.

Dado que los botones de opción se usan en grupos, no es habitual enlazar un solo botón de opción a un origen de datos. Sin embargo, es más habitual enlazar un control RadioButtonList a un origen de datos. En este caso, el origen de datos genera dinámicamente botones de opción (elementos de lista) para cada registro del origen de datos.

Volver al principio

Ejemplos de código

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

Cómo: Agregar controles RadioButtonList de servidor Web a una página de formularios Web Forms (Visual Studio)

Cómo: Establecer y obtener la selección de un control RadioButton de servidor Web

Cómo: Configurar las opciones de diseño de un control RadioButtonList de servidor Web

Cómo: Responder a la selección de un usuario en un grupo de controles RadioButton de servidor Web

Cómo: Agregar elementos a controles List de servidor Web (Visual Studio)

Cómo: Rellenar controles List de servidor Web desde un origen de datos (Visual Studio)

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

Volver al principio

Referencia de clase

En la tabla siguiente se enumeran las clases que se relacionan con los controles RadioButton y RadioButtonList.

Member

Descripción

RadioButton

La clase principal del control RadioButton.

RadioButtonList

La clase principal del control RadioButtonList.

ListItem

La clase que representa cada elemento del control RadioButtonList.

Items

La colección de elementos que corresponde a elementos individuales de la lista de un control RadioButtonList.

Volver al principio

Vea también

Tareas

Cómo: Establecer la selección en controles List de servidor Web (Visual Studio)

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

Referencia

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