Condividi tramite


Controllo server Web ListBox

Crea una casella di riepilogo a selezione singola o multipla.

<asp:ListBoxid="Listbox1"      DataSource="<% databindingexpression %>"     DataTextField="DataSourceField"     DataValueField="DataSourceField"     AutoPostBack="True|False"     Rows="rowcount"     SelectionMode="Single|Multiple"     OnSelectedIndexChanged="OnSelectedIndexChangedMethod"     runat="server">   <asp:ListItemvalue="value" selected="True|False">      Text   </asp:ListItem></asp:ListBox>

Osservazioni

Utilizzare il controllo ListBox per creare un controllo di elenco che consente una selezione singola o multipla di elementi. Usare la proprietà Rows per specificare l'altezza del controllo. Per attivare la selezione multipla di elementi, impostare la proprietà SelectionMode su ListSelectionMode.Multiple.

Per specificare gli elementi che si desidera visualizzare nel controllo ListBox, inserire un elemento ListItem per ogni voce tra i tag di apertura e di chiusura del controllo ListBox.

Inoltre, il controllo ListBox supporta l'associazione dati. Per associare il controllo a un'origine dati, è in primo luogo necessario creare un'origine dati, ad esempio System.Collections.ArrayList, che contenga gli elementi da visualizzare nel controllo. Quindi, utilizzare il metodo Control.DataBind per associare l'origine dati al controllo ListBox. Utilizzare le proprietà DataTextField e DataValueField per specificare il campo dell'origine dati da associare rispettivamente alle proprietà Text e Value di ogni voce dell'elenco nel controllo. Il controllo ListBox visualizzerà le informazioni dell'origine dati.

Se la proprietà SelectionMode è impostata su ListSelectionMode.Multiple, determinare gli elementi selezionati nel controllo ListBox scorrendo l'insieme Items e verificando la proprietà Selected di ogni elemento nell'insieme. Se la proprietà SelectionMode è impostata su ListSelectionMode.Single, è possibile utilizzare la proprietà SelectedIndex per determinare l'indice degli elementi selezionati. È quindi possibile utilizzare l'indice per recuperare l'elemento dall'insieme Items.

Per informazioni dettagliate sulle proprietà e sugli eventi del controllo server Web ListBox vedere la documentazione di Classe ListBox.

Esempio

Nell'esempio seguente viene mostrato come utilizzare il controllo ListBox per visualizzare un elenco di opzioni predefinite per l'utente. L'elemento scelto dall'utente viene visualizzato in un controllo Label.

<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">
      Sub SubmitBtn_Click(sender As Object, e As EventArgs)
         If ListBox1.SelectedIndex > - 1 Then
            Label1.Text = "You chose: " & ListBox1.SelectedItem.Text
         End If
      End Sub 'SubmitBtn_Click
   </script>
</head>
<body>
   <h3>ListBox Example</h3>
   <p>
   <form runat="server">
      <asp:ListBox id="ListBox1" 
           Rows="6"
           Width="100px"
           SelectionMode="Single" 
           runat="server">
         <asp:ListItem>Item 1</asp:ListItem>
         <asp:ListItem>Item 2</asp:ListItem>
         <asp:ListItem>Item 3</asp:ListItem>
         <asp:ListItem>Item 4</asp:ListItem>
         <asp:ListItem>Item 5</asp:ListItem>
         <asp:ListItem>Item 6</asp:ListItem>
      </asp:ListBox>
      <asp:button id="Button1"
           Text="Submit" 
           OnClick="SubmitBtn_Click" 
           runat="server" />
      <p>
      <asp:Label id="Label1" 
           Font-Name="Verdana" 
           Font-Size="10pt" 
           runat="server"/>
   </form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">
      void SubmitBtn_Click(Object sender, EventArgs e) 
      {
         if (ListBox1.SelectedIndex > -1)
            Label1.Text="The first item you chose: " +
                        ListBox1.SelectedItem.Text;
      }
   </script>
</head>
<body>
   <form runat="server">
      <h3>ListBox Example</h3>
      <asp:ListBox id="ListBox1"  
           Rows="4" 
           SelectionMode="Multiple" 
           Width="100px" 
           runat="server">
         <asp:ListItem>Item 1</asp:ListItem>
         <asp:ListItem>Item 2</asp:ListItem>
         <asp:ListItem>Item 3</asp:ListItem>
         <asp:ListItem>Item 4</asp:ListItem> 
         <asp:ListItem>Item 5</asp:ListItem> 
         <asp:ListItem>Item 6</asp:ListItem>
      </asp:ListBox>
      <asp:button id="Button1"
           Text="Submit" 
           OnClick="SubmitBtn_Click" 
           runat="server" />
      <p>
      <asp:Label id="Label1" 
           Font-Name="Verdana" 
           Font-Size="10pt" 
           runat="server"/>
   </form>
</body>
</html>

Vedere anche

Controlli server Web | Classe ListBox