Condividi tramite


Informazioni generali sui controlli server Web RadioButton e RadioButtonList

Aggiornamento: novembre 2007

I controlli RadioButton e RadioButtonList consentono all'utente di effettuare una selezione all'interno di un piccolo gruppo di opzioni predefinite che si escludono a vicenda.

Vengono illustrati i seguenti argomenti:

  • Funzionalità

  • Informazioni di supporto

  • Esempi di codice

  • Riferimento alle classi

Funzionalità

I controlli CheckBox e CheckBoxList consentono di effettuare le seguenti operazioni:

  • Generare un postback di pagina quando si seleziona un pulsante di opzione.

  • Acquisire l'interazione utente quando si seleziona un pulsante di opzione.

  • Associare ogni pulsante di opzione a dati contenuti in un database.

Torna all'inizio

Informazioni di supporto

Per aggiungere pulsanti di opzione a una pagina Web ASP.NET è possibile utilizzare due tipi di controlli server Web: singoli controlli RadioButton oppure un controllo RadioButtonList. Entrambi questi tipi di controllo consentono all'utente di effettuare una selezione all'interno di un piccolo gruppo di opzioni predefinite che si escludono a vicenda. I controlli consentono di definire il numero desiderato di pulsanti di opzione completi di etichette e di disporli orizzontalmente o verticalmente.

È possibile aggiungere a una pagina singoli controlli RadioButton e utilizzarli separatamente. In genere si raggruppano insieme due o più controlli singoli.

In alternativa, è possibile utilizzare un unico controllo RadioButtonList come controllo padre di un insieme di pulsanti di opzione. In quanto derivato dalla classe di base ListControl, questo controllo funziona in modo del tutto analogo ai controlli server Web ListBox, DropDownList, BulletedList e CheckBoxList. Molte delle procedure utilizzate per il controllo RadioButtonList sono le stesse impiegate per gli altri controlli server Web che rappresentano elenchi.

Entrambi i tipi di controllo offrono vantaggi specifici. L'utilizzo di singoli controlli RadioButton anziché del controllo RadioButtonList consente di controllare in modo più preciso il layout del gruppo di pulsanti di opzione. Nel primo caso, ad esempio, è possibile inserire fra i controlli un elemento di testo non appartenente ai pulsanti di opzione.

Per creare un gruppo di pulsanti di opzione a partire dai dati contenuti in un'origine dati è invece più conveniente scegliere il controllo RadioButtonList. L'utilizzo di questo tipo di controllo inoltre semplifica leggermente la scrittura di codice per il rilevamento del pulsante selezionato.

Nota:

Per aggiungere pulsanti di opzione a una pagina Web ASP.NET è inoltre possibile utilizzare il controllo server HtmlInputRadioButton. Per ulteriori informazioni, vedere la classe Sintassi dichiarativa per il controllo server HtmlInputRadioButton.

Per presentare all'utente un elenco con un numero di opzioni maggiore o variabile in fase di esecuzione, utilizzare un controllo server Web ListBox o DropDownList.

Raggruppamento di pulsanti di opzione

I pulsanti di opzione di rado vengono utilizzati singolarmente. In genere, vengono raggruppati in modo da creare un insieme di opzioni che si escludono a vicenda. In un gruppo è infatti possibile selezionare un solo pulsante di opzione alla volta. Per creare gruppi di pulsanti di opzione, è possibile procedere nei seguenti modi:

  • Aggiungere singoli controlli server Web RadioButton a una pagina, quindi assegnarli manualmente a un gruppo. Il nome del gruppo è arbitrario. Tutti i pulsanti di opzione con lo stesso nome di gruppo vengono considerati parte di un unico gruppo.

  • Aggiungere un controllo server Web RadioButtonList alla pagina. Gli elementi dell'elenco nel controllo verranno raggruppati automaticamente.

Eventi dei controlli RadioButton e RadioButtonList

Gli eventi funzionano in modo leggermente diverso a seconda che siano generati da singoli controlli RadioButton o dal controllo RadioButtonList.

Singoli controlli RadioButton

Quando l'utente fa clic sul controllo, i controlli RadioButton generano l'evento CheckedChanged. Questo evento, ereditato dal controllo CheckBox, Per impostazione predefinita, questo evento non determina l'invio della pagina al server. Tuttavia, se si imposta la proprietà AutoPostBack su true, è possibile forzare l'esecuzione di un postback immediato da parte del controllo. Per informazioni dettagliate su come rispondere a questo evento in modo diretto, vedere Procedura: rispondere a una selezione dell'utente in un gruppo di controllo server Web RadioButton.

Nota:

La funzionalità di postback automatico richiede che il browser supporti ECMAScript (JScript o JavaScript) e che nel browser dell'utente sia attivato lo scripting.

Potrebbe essere necessario creare un gestore eventi per l'evento CheckedChanged allo scopo di verificare quale pulsante di opzione è selezionato in qualsiasi codice eseguito come parte della pagina. La creazione di un gestore eventi per l'evento CheckedChanged è in genere necessaria solo quando occorre verificare se un pulsante di opzione è stato modificato e non semplicemente per leggere il valore correntemente selezionato. Per informazioni, vedere Procedura: impostare e ottenere la selezione in un controllo server Web RadioButton.

Controllo RadioButtonList

Il controllo RadioButtonList genera un evento SelectedIndexChanged quando nell'elenco viene selezionato un altro pulsante di opzione. Per impostazione predefinita, questo evento non determina l'invio della pagina al server. Tuttavia, se si imposta la proprietà AutoPostBack su true, è possibile forzare l'esecuzione di un postback immediato da parte del controllo. Per informazioni, vedere Procedura: rispondere alle modifiche nei controlli server Web elenco.

Nota:

La funzionalità di postback automatico richiede che il browser supporti ECMAScript (JScript o JavaScript) e che nel browser dell'utente sia attivato lo scripting.

Come per i singoli controlli RadioButton, lo stato del controllo RadioButtonList viene in genere verificato dopo l'invio della pagina mediante una modalità diversa. Per informazioni, vedere Procedura: determinare la selezione nei controlli server Web elenco.

Attributi HTML del controllo RadioButton

Il controllo RadioButton esegue il rendering nel browser in due fasi distinte: il rendering di un elemento input, che rappresenta il pulsante di opzione, e il rendering di un elemento label a parte, che rappresenta la didascalia del pulsante di opzione. Viene quindi eseguito il wrapping dei due elementi uniti in un elemento span.

Le impostazioni dello stile o degli attributi specificate per un controllo RadioButton vengono applicate all'elemento span più esterno. Ad esempio, se si imposta la proprietà BackColor del controllo, questa impostazione viene applicata all'elemento span, e, pertanto, a entrambi gli elementi interni input e label.

In alcuni casi è necessario poter impostare separatamente il pulsante di opzione e l'etichetta. Il controllo RadioButton supporta due proprietà che possono essere impostate in fase di esecuzione. La proprietà InputAttributes consente di aggiungere attributi HTML all'elemento input e la proprietà LabelAttributes consente di aggiungere attributi HTML all'elemento label. Gli attributi impostati vengono passati al browser invariati. Nell'esempio seguente viene mostrato come impostare gli attributi dell'elemento input in modo che, quando l'utente passa il puntatore del mouse sopra il pulsante di opzione, cambi colore solo quest'ultimo e non anche l'etichetta.

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'");

Associazione di dati al controllo

È possibile associare un singolo controllo RadioButton a un'origine dati e qualsiasi proprietà del controllo RadioButton a qualsiasi campo dell'origine dati. È ad esempio possibile impostare la proprietà Text del controllo a partire dalle informazioni contenute in un database.

Poiché i pulsanti di opzione vengono utilizzati in gruppo, l'associazione di un singolo pulsante di opzione a un'origine dati non è una prassi comune. È più frequente associare un controllo RadioButtonList a un'origine dati. In tal caso, l'origine dati genera pulsanti di opzione (elementi di un elenco) in modo dinamico per ogni record in essa contenuto.

Torna all'inizio

Esempi di codice

Procedura: aggiungere controlli server Web RadioButton a una pagina Web Form

Procedura: aggiungere controlli server Web RadioButtonList a una pagina Web Form (Visual Studio)

Procedura: impostare e ottenere la selezione in un controllo server Web RadioButton

Procedura: impostare il layout in un controllo server Web RadioButtonList

Procedura: rispondere a una selezione dell'utente in un gruppo di controllo server Web RadioButton

Procedura: aggiungere elementi nei controlli server Web elenco (Visual Studio)

Procedura: inserire nei controlli server Web elenco i dati ottenuti da un'origine dati (Visual Studio)

Procedura: rispondere alle modifiche nei controlli server Web elenco

Torna all'inizio

Riferimento alle classi

Nella tabella seguente sono elencate le classi correlate ai controlli RadioButton e RadioButtonList.

Membro

Descrizione

RadioButton

La classe principale del controllo RadioButton.

RadioButtonList

La classe principale del controllo RadioButtonList.

ListItem

Classe che rappresenta ogni elemento del controllo RadioButtonList.

Items

Insieme di elementi corrispondenti ai singoli elementi dell'elenco rappresentato dal controllo RadioButtonList.

Torna all'inizio

Vedere anche

Attività

Procedura: impostare la selezione nei controlli server Web elenco (Visual Studio)

Procedura: determinare la selezione nei controlli server Web elenco

Riferimenti

Cenni preliminari sui controlli server Web CheckBox e CheckBoxList