Freigeben über


Einführung in das Repeater-Webserversteuerelement

Das Repeater-Webserversteuerelement ist ein grundlegendes Containersteuerelement, das Ihnen das Erstellen benutzerdefinierter Listen mit allen beliebigen, der Seite zur Verfügung stehenden Daten ermöglicht. Das Steuerelement besitzt kein einheitliches Aussehen, so erstellt es beispielsweise standardmäßig keine vertikale Datenliste oder Tabelle. Stattdessen stellen Sie das Layout des Steuerelements bereit, indem Sie Vorlagen erstellen. Bei Ausführung der Seite durchläuft das Repeater-Steuerelement die Datensätze in der Datenquelle und gibt ein "Element" (oder jedes zweite Element) für jeden Datensatz wieder.

Da das Repeater-Steuerelement kein standardmäßiges Aussehen besitzt, kann es für die Erstellung jeder beliebigen Listenart verwendet werden. Beispielsweise können Sie das Repeater-Steuerelement u. a. wie folgt zur Anzeige von Informationen verwenden:

  • In einem Tabellenlayout
  • In einer kommagetrennten Liste (z. B. "a, b, c, d, ...")
  • In einer Aufzählung oder nummerierten Liste

Vorlagen

Zur Verwendung des Repeater-Steuerelements erstellen Sie Vorlagen, die das Layout des Steuerelementinhalts definieren. Vorlagen können eine beliebige Kombination von HTML-Text und Steuerelementen enthalten, die auf einer Web Forms-Seite gültig sind. Wenn keine Vorlagen definiert sind oder keine der Vorlagen Elemente enthält, wird das Steuerelement bei Ausführung der Anwendung nicht auf der Seite angezeigt.

Das Repeater-Steuerelement unterstützt die folgenden Vorlagen:

Vorlage Beschreibung
ItemTemplate Elemente, die einmal für jede Zeile in der Datenquelle wiedergegeben werden. Zur Anzeige von Daten in ItemTemplate fügen Sie ein oder mehrere Webserver- oder HTML-Serversteuerelemente zu der Vorlage hinzu, und binden Sie die Steuerelemente an eine Datenquelle.
AlternatingItemTemplate Entspricht dem ItemTemplate-Element, wird jedoch für alle anderen Zeilen im Repeater-Steuerelement dargestellt. Sie können ein anderes Aussehen für das AlternatingItemTemplate-Element bestimmen, indem Sie dessen Stileigenschaften festlegen.
HeaderTemplate und FooterTemplate Elemente, die einmal vor und nach der Darstellung aller datengebundenen Zeilen dargestellt werden. Beispielsweise kann sich eine HTML-Tabelle über den gesamten Repeater erstrecken, indem das Starttag (<TABLE>) in der HeaderTemplate und das Endtag (</TABLE>) in der FooterTemplate gesetzt wird.
SeparatorTemplate Elemente, die zwischen jeder Zeile dargestellt werden, z. B. Zeilenumbrüche (<BR>-Tags), Zeilen (<HR>-Tags) oder Kommas.

Weitere Informationen finden Sie unter Vorlagen für Webserversteuerelemente and Erstellen von Vorlagen für Webserversteuerelemente.

Arbeiten mit dem Repeater-Steuerelement zur Entwurfszeit

Der Web Forms-Designer bietet nur eine begrenzte What-you-see-is-what-you-get-Bearbeitung (WYSIWYG-Bearbeitung) für das Repeater-Steuerelement. Sie können das Steuerelement wie jedes andere Steuerelement auf der Seite auf eine Seite ziehen und die Basiseigenschaften festlegen.

Um jedoch die Vorlagen für das Repeater-Steuerelement zu bestimmen, arbeiten Sie in der HTML-Ansicht des Web Form-Designers. Das Steuerelement ermöglicht Ihnen, unvollständige HTML-Elemente für Vorlagen anzugeben, z. B. einen <TABLE>-Tag in der HeaderItem-Vorlage und ein </TABLE>-Element in der FooterItem-Vorlage. Da in der Entwurfsansicht des Web Form-Designers immer die Gültigkeit des HTML-Codes in einer Seite überprüft wird, werden derartige Elementfragmente in dieser Ansicht nicht akzeptiert. Daraus folgt, dass die Vorlagenbearbeitung für das Repeater-Steuerelement immer in der HTML-Ansicht erfolgen muss.

Hinweis   In der Aufgabenliste werden Warnungen angezeigt, wenn HTML-Tags über mehrere Vorlagen aufgeteilt werden. Sie können diese Warnungen ohne Bedenken ignorieren. Die HTML-Elemente werden bei Ausführung der Anwendung korrekt angezeigt.

Binden von Daten an das Steuerelement

Das Repeater-Steuerelement muss über seine DataSource-Eigenschaft an eine Datenquelle gebunden werden, anderenfalls wird es nicht wiedergegeben. Das Steuerelement kann jede Klasse als Datenquelle verwenden, die die IEnumerable-Schnittstelle unterstützt. Praktisch bedeutet dies, dass Sie beliebige Datenquellentypen verwenden können, die sich mit Hilfe der Daten-Designer in Visual Studio erstellen lassen. Sie können auch Datenquellen verwenden, die der Seite aus der Toolbox hinzugefügt werden, z. B. die DataSet-Klasse oder die DataView-Klasse. Sie können auch Bindungen an einfachere Strukturen, z. B. an ein Array, herstellen.

Steuerelemente in den Vorlagen können an die Datenquelle des Repeater-Steuerelements oder an eine separate Datenquelle gebunden werden. Das Binden der Steuerelemente an das Repeater-Steuerelement gewährleistet, dass alle Steuerelemente Datenelemente aus derselben Datenzeile anzeigen. Bei der Syntax für das Binden der Steuerelemente an das Repeater-Steuerelement wird "Container" als Datenquelle verwendet, da Repeater der Container für alle Steuerelemente ist. Der Bindungsbefehl hat das folgende Format:

<%# DataBinder.Eval(Container, "DataItem.PhoneNumber") %>

Alternativ kann ein Steuerelement an eine andere Datenquelle als die des Repeater-Steuerelements gebunden werden. Sie können diese Methode verwenden, wenn das Steuerelement eine andere Datenzeile aus der Datenquelle des Repeater-Steuerelements oder aus einer ganz anderen Datenquelle anzeigen soll. Die Repeater-Elementvorlage kann beispielsweise den Namen und Beruf eines Angestellten aus einer Tabelle anzeigen, während ein ListBox-Steuerelement eine Auswahl verschiedener Berufe aus einer anderen Tabelle enthält.

Hinweis   In der HTML-Ansicht können Sie mit Hilfe von DataBinder.Eval-Ausdrücken keine Steuerelemente in den Header-, Footer- und Trennzeichenvorlagen binden. Sie müssen diese Steuerelemente im Code binden.

Wenn die Seite ausgeführt wird, rufen Sie die DataBind-Methode des Repeater-Steuerelements auf, um die Datensätze anzuzeigen. Sie rufen die Methode jedes Mal neu auf (z. B. in einem Ereignishandler), wenn die angezeigten Daten aktualisiert werden müssen.

Eine Übersicht über die Datenbindung in Webserversteuerelementen finden Sie unter Datenzugriff in Web Forms-Seiten und Hinzufügen von Repeater-Steuerelementen zu einer Web Forms-Seite.

Ereignisse

Das Repeater-Steuerelement unterstützt mehrere Ereignisse. Das Repeater.ItemCreated-Ereignis wird bei jeder Darstellung der Tabelle aufgerufen und ermöglicht Ihnen die Anpassung des Elementerstellungsprozesses. Wenn Sie beispielsweise einen Repeater zum Anzeigen einer Aufgabenliste verwenden, können Sie überfällige Elemente in rotem, abgeschlossene in schwarzem und andere Aufgaben in grünem Text darstellen.

Das Repeater.ItemCommand-Ereignis wird durch Klicken auf Schaltflächen in einzelnen Elementen aufgerufen. Das Ereignis soll Ihnen das Einbetten eines Button-, LinkButton- oder ImageButton-Webserversteuerelements in eine Elementvorlage ermöglichen und Sie anschließend benachrichtigen, wenn ein Benutzer auf die Schaltfläche klickt. Beim Klicken wird das Ereignis an das Repeater-Steuerelement weitergegeben. Die gängigste Verwendung des ItemCommand-Ereignisses ist die Programmierung des Verhaltens beim Hinzufügen, Aktualisieren und Löschen von Elementen für das Repeater-Steuerelement. Da alle Klicks auf Schaltflächen dasselbe ItemCommand-Ereignis aufrufen, muss unterschieden werden können, auf welche Schaltfläche geklickt wurde. Sie können bestimmen, auf welche Schaltfläche geklickt wurde, indem Sie die CommandName-Eigenschaft jeder Schaltfläche auf einen eindeutigen Zeichenfolgenwert setzen. Die ItemCommand-Eigenschaft des RepeaterCommandEventArgs-Parameters enthält den CommandName der Schaltfläche, auf die geklickt wurde.

Weitere Informationen finden Sie unter Reagieren auf Schaltflächenereignisse in DataList-, Repeater- oder DataGrid-Elementen.

Siehe auch

Hinzufügen von Repeater-Steuerelementen zu einer Web Forms-Seite | Ereignismodell für ASP.NET-Serversteuerelemente | Repeater-Klasse