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.4 RadioButtonList  toptop


Klasse System.Web.UI.WebControls.RadioButtonList
Deklaration <asp:RadioButtonList id="id"
AutoPostBack="True|False"
DataSource="<% databindingexpression %>"
DataTextField="DataSource-Feld"
DataValueField="DataSource-Feld"
RepeatColumns="Anzahl Spalten"
RepeatDirection="Vertical|Horizontal"
RepeatLayout="Flow|Table"
TextAlign="Right|Left"
OnSelectedIndexChanged=
"OnSelectedIndexChanged-Methode"
runat="server">
<asp:ListItem Text="label"
Value="value"
Selected="True|False"/>
</asp:RadioButtonList>
Erzeugter HTML-Code Mehrere Einträge dieser Art: <input id="radioListe_0" type="radio" name="radioListe" value="radio1" /><label for="radioListe_0">...</label> Je nach Einstellung bei RepeatLayout mit Hilfe einer Tabelle angeordnet oder als fließender Text
Kurzcharakteristik Erstellt eine Gruppe von Optionsfeldern

Das RadioButtonList-Steuerelement funktioniert genauso wie das CheckBoxList-Steuerelement. Der Unterschied liegt einzig und allein in der Bedienung. Der Anwender kann immer nur einen Eintrag zur gleichen Zeit selektieren. listen_radiobuttonlist01.aspx demonstriert, wie das »Radio hören«-Beispiel aus dem Abschnitt zum RadioButton mit einer RadioButtonList implementiert wird. Abbildung 9.2 zeigt die Darstellung im Browser.

<!-- listen_radiobuttonlist01.aspx -->
<%@ Page Language="VB" debug="True" Strict="True" %>
<script runat="server" >
Sub radioauswahl (ByVal Sender As Object, _
                  ByVal E As EventArgs)
Dim tmp As New StringBuilder()
   If radioListe.selectedIndex <> -1 Then
      Select Case radioListe.SelectedItem.value
         Case "radio1"
            tmp.Append _
               ("NDR2: ""An der Nordseeküste ...""")
         Case "radio2"
            tmp.Append ("WDR 2: ""... die Hitparade ")
            tmp.Append ("aus dem Kölner Funkhaus!""") 
         Case "radio3"
            tmp.Append ("SWR 3: ""Achtung, ")
            tmp.Append ("Verkehrsfunk: Durch Baden-")
            tmp.Append ("Baden läuft ein ")
            tmp.Append ("Schwarzwald-Elch!""")         
      End Select
   End If
   ausgabe.text = tmp.toString
End Sub                  

</script>
<html><head>
<title>Webserversteuerelemente für Listen: 
RadioButtonList</title>
</head><body>
<h3>Webserversteuerelemente für Listen: 
RadioButtonList</h3>
<h3>Welchen Sender wollen Sie hören?</h3>
<form runat="server" id="myForm">
<asp:RadioButtonList id="radioListe" runat="server"
     AutoPostBack="True"
     Cellspacing="10"
     RepeatColumns="3"
     RepeatDirection="Horizontal"
     RepeatLayout="Table"
     TextAlign="Right"
     OnSelectedIndexChanged="radioauswahl" >
     
     <asp:ListItem text="NDR 2" value="radio1" />
     <asp:ListItem text="WDR 2" value="radio2" />
     <asp:ListItem text="SWR 3" value="radio3" />

</asp:RadioButtonList><br>
<asp:Button id="btnOK" runat="server" 
     Text="  OK  " />
<br><br>       
<asp:Label id="ausgabe" runat="server" />
</form></body></html>

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 9.2 Das RadioButtonList-Steuerelement erstellt eine Liste von Optionsfeldern.

Im Vergleich zur Realisierung mit drei einzelnen Optionsfeldern ist kaum ein Stein auf dem anderen geblieben. Ähnlich wie beim CheckBoxList-Beispiel umschließt das RadioButtonList-Element drei ListItem-Einträge. Die Auswahl einer Option löst das OnSelectedIndexChanged-Ereignis aus, bei dem das Skript radioauswahl ausgeführt wird. Zunächst überprüft das Skript, ob überhaupt ein Eintrag selektiert wurde:

If radioListe.selectedIndex <> -1

Ein Select Case-Statement wertet den selektierten Eintrag aus, indem es den Ausgabe-String zusammensetzt:

Select Case radioListe.SelectedItem.value

Im Vergleich zur alten Lösung wirkt diese Art der Realisierung eleganter. Durch das umschließende RadioButtonList-Steuerelement mit Eigenschaften wie SelectedItem und der Eigenschaft OnSelectedIndexChanged gewinnt man eher das Gefühl, die Aufgabe adäquat zu lösen.

  

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