9.5 DropDownList
 
| Klasse
|
System.Web.UI.WebControls.DropDownList
|
| Deklaration
|
<asp:DropDownList id="myID" runat="server"
DataSource="<% databindingexpression %>"
DataTextField="DataSource-Feld"
DataValueField="DataSource-Feld"
AutoPostBack="True|False"
OnSelectedIndexChanged=
"OnSelectedIndexChangedMethod">
<asp:ListItem value="value"
selected="True|False">
Text
</asp:ListItem>
</asp:DropDownList>
|
| Erzeugter HTML-Code
|
<select name="myID" id="myID">
<option value="Wert">Text</option>
...
</select>
|
| Kurzcharakteristik
|
Erzeugt ein Dropdown-Listenfeld
|
Wenn die Darstellung aller verfügbaren Optionen zu viel Platz in Anspruch nehmen würde, leistet ein Dropdown-Listenfeld gute Dienste. Ähnlich wie bei Optionsfeldern kann auch in einem Dropdown-Listenfeld nur ein einzelner Eintrag selektiert werden. In listen_dropdownlist01.aspx soll der Anwender selektieren, aus welchem Bundesland er kommt.
<!-- listen_dropdownlist01.aspx -->
<%@ Page Language="VB" debug="True" Strict="True" %>
<script runat="server" >
Sub laenderliste_Init _
(ByVal Sender As Object, ByVal E As EventArgs)
Dim laender(,) As String = { _
{"Baden-Württemberg", "BAW"}, _
{"Bayern", "BAY"}, _
{"Berlin", "BER"}, _
{"Brandenburg", "BRA"}, _
{"Bremen", "BRE"}, _
{"Hamburg", "HAM"}, _
{"Hessen", "HES"}, _
{"Mecklenburg-Vorpommern", "MEC"}, _
{"Niedersachsen", "NIE"}, _
{"Nordrhein-Westfalen", "NRW"}, _
{"Rheinland-Pfalz", "PFA"}, _
{"Saarland", "SAR"}, _
{"Sachsen", "SAC"}, _
{"Sachsen-Anhalt", "ANH"}, _
{"Schleswig-Holstein", "HOL"}, _
{"Thüringen", "THU"} _
}
Dim i As Integer
For i = 0 to laender.GetLength(0) – 1
laenderliste.Items.Add _
(new ListItem (laender(i,0), laender(i,1)))
Next
End Sub
Sub laenderliste_SelectedIndexChanged _
(ByVal Sender As Object, ByVal E As EventArgs)
If laenderliste.SelectedIndex <> -1 Then
ausgabe.text = "Sie kommen aus " & _
laenderliste.SelectedItem.Text & "."
End If
End Sub
</script>
<html><head>
<title>Webserversteuerelemente für Listen:
DropDownList</title>
</head><body>
<h3>Webserversteuerelemente für Listen:
DropDownList</h3>
<h3>Aus welchem Bundesland kommen Sie?</h3>
<form runat="server" id="myForm">
<asp:DropDownList id="laenderliste" runat="server"
AutoPostBack="True"
OnSelectedIndexChanged=
"laenderliste_SelectedIndexChanged"
OnInit="laenderliste_Init" >
</asp:DropDownList>
<asp:Button id="btnOK" runat="server" Text=" OK " />
<asp:Label id="ausgabe" runat="server" />
</form></body></html>
 Hier klicken, um das Bild zu Vergrößern
Abbildung 9.3 Auch ein Dropdown-Listenfeld lässt sich leicht erstellen.
Das Beispiel funktioniert ähnlich wie das Beispiel zum CheckBoxList-Steuerelement. Über den Eintrag
OnInit="laenderliste_Init"
wird die Initialisierung über die Prozedur laenderliste_Init veranlasst. Die Prozedur definiert in einem zweidimensionalen Array Text-Wert-Paare. Eine For-Schleife, die alle Text-Wert-Paare durchläuft, fügt jeweils einen weiteren Eintrag zum Dropdown-Listenfeld hinzu.
laenderliste.Items.Add _
(new ListItem (laender(i,0), laender(i,1)))
Die Seite wertet das SelectedIndexChanged-Ereignis aus:
OnSelectedIndexChanged=
"laenderliste_SelectedIndexChanged"
Die Prozedur laenderliste_SelectedIndexChanged prüft zunächst, ob überhaupt ein Eintrag selektiert wurde.
If laenderliste.SelectedIndex <> -1 Then
Wenn das der Fall ist, schreibt die Prozedur die Ausgabe in das Label-Feld.
|