Procedura: determinare la selezione nei controlli server Web elenco
Aggiornamento: novembre 2007
Le informazioni fornite in questo argomento sono valide per i controlli server Web ListBox, DropDownList, CheckBoxList e RadioButtonList.
Una delle operazioni eseguite con maggiore frequenza quando si utilizza un controllo server Web elenco consiste nel determinare quali elementi sono stati selezionati dall'utente. La procedura varia a seconda che il controllo elenco consenta la selezione singola o la selezione multipla.
Quando si utilizza il controllo DropDownList, il controllo RadioButtonList e un controllo ListBox a selezione singola, attenersi alla procedura descritta di seguito.
Per determinare la selezione in un controllo elenco a selezione singola
Utilizzare una delle seguenti modalità:
Per ottenere il valore di indice dell'elemento selezionato, leggere il valore della proprietà SelectedIndex. L'indice è in base zero. Se non è stata effettuata alcuna selezione, il valore della proprietà sarà -1.
Per ottenere il contenuto dell'elemento selezionato, recuperare la proprietà SelectedItem del controllo. Questa proprietà restituisce un oggetto di tipo ListItem. È possibile ottenere il contenuto dell'elemento selezionato recuperando la proprietà Text o Value dell'oggetto.
Nota sulla sicurezza: I controlli in una pagina Web Form possono includere script client potenzialmente dannoso. Per impostazione predefinita, la pagina Web Form verifica che l'input dell'utente non includa script o altri elementi HTML. Per ulteriori informazioni, vedere Procedura: proteggere da attacchi tramite script in un'applicazione Web applicando alle stringhe la codifica HTML
Nell'esempio di codice riportato di seguito viene illustrato come verificare l'elemento selezionato in un controllo RadioButtonList. Il codice determina innanzitutto se è stata effettuata una selezione leggendo il valore della proprietà SelectedIndex, impostato su -1 fino a quando l'utente non seleziona un elemento. Recupera quindi l'oggetto SelectedItem e visualizza la proprietà Text dell'oggetto.
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Is anything selected? The index is -1 if nothing is selected. If RadioButtonList1.SelectedIndex > -1 Then Label1.Text="You chose: " & RadioButtonList1.SelectedItem.Text End If End Sub
Protected void Button1_Click (object sender, System.EventArgs e) { // Is anything selected? The index is -1 if nothing is selected. if (RadioButtonList1.SelectedIndex > -1) { Label1.Text="You chose: " + RadioButtonList1.SelectedItem.Text; } }
Se il controllo elenco supporta la selezione multipla, sarà necessario scorrere gli elementi del controllo e verificare singolarmente quelli selezionati.
Per determinare la selezione in un controllo elenco a selezione multipla
Scorrere l'insieme Items del controllo e verificare la proprietà Selected di ogni singolo elemento.
Nell'esempio di codice riportato di seguito viene illustrato come verificare gli elementi selezionati in un controllo ListBox a selezione multipla denominato ListBox1. Il codice visualizza un elenco di elementi selezionati all'interno di un'etichetta.
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim msg As String Dim li As ListItem msg = "" For Each li In ListBox1.Items If li.Selected = True Then msg = msg & "<br>" & li.Text & " selected." End If Next Label1.Text = msg End Sub
Protected void Button1_Click(object sender, System.EventArgs e) { string msg = "" ; foreach(ListItem li in ListBox1.Items) { if(li.Selected == true) { msg += "<BR>" + li.Text + " is selected."; } } Label1.Text = msg; }
Vedere anche
Riferimenti
Cenni preliminari sui controlli server Web CheckBox e CheckBoxList
Cenni preliminari sul controllo server Web DropDownList
Cenni preliminari sul controllo server Web ListBox
Informazioni generali sui controlli server Web RadioButton e RadioButtonList