ListBox-Webserversteuerelement
Erstellt ein Listenfeld, in dem die Auswahl eines oder mehrerer Elemente möglich ist.
<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>
Hinweise
Mit dem ListBox-Steuerelement können Sie ein Listensteuerelement erstellen, in dem die Auswahl eines oder mehrerer Elemente möglich ist. Mit der Rows-Eigenschaft geben Sie die Höhe des Steuerelements an. Um die Auswahl mehrerer Elemente zu aktivieren, setzen Sie die SelectionMode-Eigenschaft auf ListSelectionMode.Multiple.
Um die im ListBox-Steuerelement darzustellenden Elemente anzugeben, platzieren Sie für jeden Eintrag ein ListItem-Element zwischen das öffnende und das schließende Tag des ListBox-Steuerelements.
Das ListBox-Steuerelement unterstützt auch die Datenbindung. Um das Steuerelement an eine Datenquelle zu binden, erstellen Sie zuerst eine Datenquelle, z. B. System.Collections.ArrayList, die die im Steuerelement darzustellenden Elemente enthält. Danach binden Sie die Datenquelle mit Hilfe der Control.DataBind-Methode an das ListBox-Steuerelement. Geben Sie mit Hilfe der Eigenschaften DataTextField und DataValueField an, welches Feld in der Datenquelle jeweils an die Eigenschaften Text und Value der einzelnen Listenelemente in dem Steuerelement gebunden werden soll. Das ListBox-Steuerelement zeigt nun die Informationen aus der Datenquelle an.
Wenn die SelectionMode-Eigenschaft auf ListSelectionMode.Multiple gesetzt ist, ermitteln Sie die in dem ListBox-Steuerelement ausgewählten Elemente, indem Sie durch die Items-Auflistung iterieren und die Selected-Eigenschaft jedes Elements in der Auflistung testen. Wenn die SelectionMode-Eigenschaft auf ListSelectionMode.Single gesetzt ist, können Sie anhand der SelectedIndex-Eigenschaft den Index des ausgewählten Elements ermitteln. Anhand des Indexes kann dann das Element aus der Items-Auflistung abgerufen werden.
Weitere Informationen zu den Eigenschaften und Ereignissen des ListBox-Webserversteuerelements finden Sie unter ListBox-Klasse.
Beispiel
Das folgende Beispiel veranschaulicht, wie mit Hilfe des ListBox-Steuerelements dem Benutzer eine Liste der vordefinierten Optionen angezeigt werden kann. Das vom Benutzer ausgewählte Element wird in einem Label-Steuerelement angezeigt.
<%@ 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>