Condividi tramite


Cenni preliminari sui controlli server Web CheckBox e CheckBoxList

Aggiornamento: novembre 2007

I controlli CheckBox e CheckBoxList consentono agli utenti di specificare le opzioni Sì/No (Vero/Falso).

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 viene selezionata una casella di controllo.

  • Acquisire l'interazione dell'utente quando viene selezionata una casella di controllo.

  • Associare ogni casella di controllo ai dati contenuti in un database.

Torna all'inizio

Informazioni di supporto

Per aggiungere caselle di controllo a una pagina Web ASP.NET, è possibile utilizzare due tipi di controlli server Web: singoli controlli CheckBox o un controllo CheckBoxList. Entrambi i controlli consentono agli utenti di specificare le opzioni Sì/No (Vero/Falso).

È possibile aggiungere a una pagina singoli controlli CheckBox e utilizzarli separatamente. In alternativa, è possibile utilizzare un unico controllo CheckBoxList come controllo padre di un insieme di caselle di controllo. Poiché deriva dalla classe base ListControl, funziona in modo analogo ai controlli server Web ListBox, DropDownList, RadioButtonList e BulletedList. Molte delle procedure utilizzate per il controllo CheckBoxList sono le stesse utilizzate per gli altri controlli server di tipo elenco.

Entrambi i tipi di controlli offrono vantaggi specifici. Utilizzando singoli controlli CheckBox anziché il controllo CheckBoxList, è possibile controllare il layout delle caselle di testo nella pagina in modo più preciso. È possibile, ad esempio, inserire testo non appartenente a caselle di controllo tra una casella e l'altra, nonché controllare il tipo di carattere e il colore di ogni singola casella di controllo.

Per creare una serie di caselle di controllo utilizzando i dati di un'origine dati, è preferibile scegliere il controllo CheckBoxList. È possibile associare ai dati un singolo controllo CheckBox.

Nota:

Per aggiungere caselle di controllo a una pagina Web ASP.NET, è inoltre possibile utilizzare il controllo HtmlInputCheckBox. Per ulteriori informazioni, vedere Sintassi dichiarativa per il controllo server HtmlInputCheckBox.

Eventi CheckBox e CheckBoxList

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

Eventi del controllo CheckBox

Quando l'utente fa clic sul controllo, i controlli CheckBox generano l'evento CheckedChanged. 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 ulteriori informazioni, vedere Procedura: rispondere alla selezione dell'utente in un controllo server Web CheckBox.

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 non essere necessario creare un gestore eventi per l'evento CheckedChanged È possibile verificare quale casella di controllo è selezionata in qualsiasi codice eseguito come parte della pagina. In genere, è necessario creare un gestore eventi per CheckedChanged solo quando occorre verificare se la casella di testo è stata modificata e non semplicemente per leggerne il valore. Per informazioni dettagliate, vedere Procedura: impostare e ottenere la selezione in un controllo server Web RadioButton.

Eventi del controllo CheckBoxList

Il controllo CheckBoxList genera un evento SelectedIndexChanged quando l'utente seleziona una qualsiasi casella di controllo presente nell'elenco. 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.

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 CheckBox, lo stato del controllo CheckBoxList viene in genere verificato dopo l'invio della pagina mediante una modalità diversa. Per informazioni dettagliate, vedere Procedura: determinare la selezione nei controlli server Web elenco.

Attributi HTML del controllo CheckBox

Il controllo CheckBox esegue il rendering nel browser in due fasi: il rendering di un elemento input, che rappresenta la casella di testo, quindi il rendering di un elemento label separato, che rappresenta la didascalia della casella di controllo. Viene quindi eseguito il wrapping dei due elementi uniti in un elemento span.

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

In alcuni casi è preferibile specificare impostazioni separate per la casella di testo e per l'etichetta. Il controllo CheckBox 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. Nel seguente codice di esempio viene mostrato come impostare gli attributi per l'elemento input in modo che, quando l'utente passa il puntatore sopra la casella di testo, cambi colore solo ella casella di testo ma non dell'etichetta.

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

Associazione di dati ai controlli

È possibile associare un singolo controllo CheckBox a un'origine dati e qualsiasi proprietà del controllo CheckBox a qualsiasi campo dell'origine dati. In genere, ad esempio, si imposta la proprietà Checked del controllo in base ai dati contenuti in un database.

È inoltre possibile associare un controllo CheckBoxList a un'origine dati. In tal caso, ciascuna casella di controllo rappresenta un diverso record dell'origine dati.

Torna all'inizio

Esempi di codice

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

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

Procedura: impostare layout in un controllo server Web CheckBoxList

Procedura: ottenere e impostare il valore di un controllo server Web CheckBox a livello di codice

Procedura: rispondere alla selezione dell'utente in un controllo server Web CheckBox

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 CheckBox e CheckBoxList.

Membro

Descrizione

CheckBox

Classe principale del controllo CheckBox.

CheckBoxList

Classe principale del controllo CheckBoxList.

ListItem

Classe che rappresenta ogni elemento del controllo CheckBoxList.

Items

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

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

Informazioni generali sui controlli server Web RadioButton e RadioButtonList