Freigeben über


CheckBoxList-Webserversteuerelement

Erstellt eine Gruppe von Kontrollkästchen für die Mehrfachauswahl. Dieses Steuerelement unterstützt die Bindung an eine Datenquelle.

<asp:CheckBoxList id="CheckBoxList1"
     AutoPostBack="True|False"
     CellPadding="Pixels"
     DataSource='<% databindingexpression %>'
     DataTextField="DataSourceField"
     DataValueField="DataSourceField"
     RepeatColumns="ColumnCount"
     RepeatDirection="Vertical|Horizontal"
     RepeatLayout="Flow|Table"
     TextAlign="Right|Left"
     OnSelectedIndexChanged="OnSelectedIndexChangedMethod"
     runat="server">

   <asp:ListItem value="value" 
        selected="True|False">
      Text
   </asp:ListItem>

</asp:CheckBoxList>

Hinweise

Das CheckBoxList-Steuerelement erstellt eine Gruppe von Kontrollkästchen für die Mehrfachauswahl, die dynamisch mit Hilfe von Datenbindung generiert werden kann. Um die im CheckBoxList-Steuerelement darzustellenden Elemente anzugeben, platzieren Sie für jeden Eintrag ein ListItem-Objekt zwischen das öffnende und das schließende Tag des CheckBoxList-Steuerelements.

Hinweis   Sie können auch mehrere CheckBox-Steuerelemente verwenden. Das CheckBoxList-Steuerelement eignet sich besser zum Erstellen einer Gruppe von Kontrollkästchen mit Datenbindung, während Sie bei einem einzelnen CheckBox-Steuerelement mehr Möglichkeiten für die Layoutgestaltung haben.

Das CheckBoxList-Steuerelement unterstützt auch die Datenbindung. Um das Steuerelement an eine Datenquelle zu binden, erstellen Sie zuerst eine Datenquelle, z. B. ein System.Collections.ArrayList-Objekt, das die im Steuerelement darzustellenden Elemente enthält. Danach verwenden Sie die Control.DataBind-Methode, um die Datenquelle an das CheckBoxList-Steuerelement zu binden. 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 CheckBoxList-Steuerelement zeigt nun die Informationen aus der Datenquelle an.

Um zu ermitteln, welche Elemente im CheckBoxList-Steuerelement ausgewählt sind, durchlaufen Sie die Items-Auflistung und prüfen die Selected-Eigenschaft jedes Elements in der Auflistung.

Sie können mit Hilfe der RepeatLayout-Eigenschaft und der RepeatDirection-Eigenschaft festlegen, wie die Liste angezeigt wird. Wenn RepeatLayout auf RepeatLayout.Table gesetzt ist (Standardeinstellung), wird die Liste in einer Tabelle dargestellt. Ist RepeatLayout auf RepeatLayout.Flow gesetzt, wird die Liste ohne Tabellenstruktur wiedergegeben. Standardmäßig ist RepeatDirection auf RepeatDirection.Vertical gesetzt. Wenn Sie diese Eigenschaft auf RepeatDirection.Horizontal setzen, wird die Liste in horizontaler Richtung dargestellt.

Vorsicht   Text wird nicht in HTML codiert, bevor er im CheckBoxList-Steuerelement angezeigt wird. Auf diese Weise können Skripts in HTML-Tags in den Text eingebunden werden. Wenn die Werte in diesem Steuerelement aus Benutzereingaben stammen, müssen die Werte unbedingt geprüft werden, um die Sicherheit zu gewährleisten.

Weitere Informationen zu den Eigenschaften und Ereignissen des CheckBoxList-Webserversteuerelements finden Sie unter CheckBoxList-Klasse.

Beispiel

Das folgende Beispiel veranschaulicht, wie ein CheckBoxList-Steuerelement in einer ASPX-Datei deklariert wird. Die Liste enthält sechs Elemente, die sich nicht gegenseitig ausschließen. Wenn ein Benutzer eines der Kontrollkästchen aktiviert, wird die Seite nicht sofort an den Server zurückgesendet (die Seite wird erst zurückgesendet, nachdem ein bestimmtes anderes Ereignis aufgetreten ist, z. B. ein Button-Klick). Es wird kein OnSelectedIndexChanged-Ereignishandler aufgerufen, da für dieses Ereignis keine Methode deklariert ist.

<asp:CheckBoxList id="Check1"
     RepeatLayout="flow"
     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:CheckBoxList>

Das folgende Beispiel veranschaulicht, wie Sie die ausgewählten Kontrollkästchen in einem CheckBoxList-Steuerelement ermitteln können. Der Code iteriert durch die Items-Auflistung des Steuerelements und testet die Selected-Eigenschaft jedes Elements. Die ausgewählten Elemente werden dann im Label-Steuerelement angezeigt.

Sub Button1_OnClick(sender As Object, e As EventArgs)
   Dim s As String
   Dim i As Integer
   s = "Selected items:<br>"
   For i=0 to Check1.Items.Count - 1
      If Check1.Items(i).Selected Then
         s = s & Check1.Items[i].Text & "<br>"
      End If 
   Next i
   Label1.Text = s
End Sub
[C#]
void Button1_OnClick(Object sender, EventArgs e)
{
   string s;
   s = "Selected items:<br>";
   for (int i=0; i < Check1.Items.Count; i++)
   {
      if ( Check1.Items[i].Selected )
      {
         s = s + Check1.Items[i].Text + "<br>";
      }
   }
   Label1.Text = s;
}

Siehe auch

Webserversteuerelemente | CheckBoxList-Klasse