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