Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Einstieg in ASP.NET von Matthias Lohrer
Einstieg in ASP.NET
gp Kapitel Webserversteuerelemente für die Darstellung von Listen
  gp 9.1 Die abstrakte Basisklasse ListControl
  gp 9.2 Das ListItem-Objekt
  gp 9.3 CheckBoxList
    gp 9.3.1 Kontrollkästchen-Listen statisch erstellen
    gp 9.3.2 Kontrollkästchen-Listen dynamisch erstellen
    gp 9.3.3 Dynamische Datenbindung
  gp 9.4 RadioButtonList
  gp 9.5 DropDownList
  gp 9.6 ListBox
  gp 9.7 Repeater und DataList


Galileo Computing

9.5 DropDownList  toptop


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>&nbsp;&nbsp;
<asp:Button id="btnOK" runat="server" Text="  OK  " />
<asp:Label id="ausgabe" runat="server" />
</form></body></html>

Abbildung
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.

  

Einstieg in VB.NET

VB.NET

Einstieg in C#

Visual C#

VB.NET und Datenbanken

Einstieg in XML




Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de