Como: Determine the seleção in lista servidor Web Controls
As informações contidas neste tópico se aplicam para esses controles de servidor Web: ListBox, DropDownList, CheckBoxList, e RadioButtonList.
Uma das tarefas mais comuns ao trabalhar com um controle lista de servidor Web é determinar qual item ou itens os usuários selecionaram.O procedimento varia dependendo se o controle de lista permite única ou várias seleções.
Use o procedimento a seguir ao trabalhar com o controle DropDownList, o controle RadioButtonList e um controle ListBox de única seleção.
Para determinar a seleção em um controle de lista de única seleção
Use um dos seguintes métodos:
Para obter o valor de índice do item selecionado, leia o valor da propriedade SelectedIndex.O índice é baseado em zero.Se nada tiver sido selecionado, o valor da propriedade é -1.
Para obter o conteúdo do item selecionado, obtenha a propriedade SelectedItem do controle.Essa propriedade retorna um objeto do tipo ListItem.Você pode obter obter o conteúdo do item selecionado obtendo a propriedade Text ou Value do objeto.
Observação de segurança: Controles em uma página de Web Forms podem incluir script de cliente possivelmente mal-intencionado.Por padrão, o página de Web Forms valida que a entrada do usuário não inclua script ou elementos HTML.Para mais informações, consulte: Como: Proteger contra exploits script em um aplicativo Web da Web, Applying HTML Encoding to Strings.
O exemplo de código a seguir mostra como você pode testar qual item está selecionado em um controleRadioButtonList.O código determina primeiro se há uma seleção em todos os lendo o valor da propriedade SelectedIndex, que é definido como -1 até que o usuário selecione um item.Então obtém o objeto SelectedItem e exibe a propriedade Text desse objeto.
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 o controle de lista aceitar várias seleções, você deve executar um loop através do controle e procurar itens selecionados, um por um.
Para determinar a seleção em um controle de lista de múltipla seleção
Execute um loop através da coleção Items do controle e teste a propriedade Selected de cada item individual.
O exemplo de código a seguir mostra como você pode testar as seleções em um controle ListBox de várias seleções chamado ListBox1.O código exibe uma lista dos itens selecionados em um rótulo.
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; }
Consulte também
Referência
Visão geral de controles de CheckBox e CheckBoxList Web Server
Visão geral do controle DropDownList do servidor Web
Visão Geral Sobre Controles ListBox do Servidor Web
Visão geral sobre controles de Servidor RadioButtonList Web e RadioButton