Repeater-Klasse

Ein datengebundenes Listensteuerelement, das ein benutzerdefiniertes Layout ermöglicht, indem eine angegebene Vorlage auf jedes in der Liste angezeigte Element angewendet wird.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public class Repeater : Control, INamingContainer
public class Repeater extends Control implements INamingContainer
public class Repeater extends Control implements INamingContainer

Bei dem Repeater-Steuerelement handelt es sich um eine mit einer Vorlage versehene einfache datengebundene Liste. Sie enthält keine integrierten Layouts oder Formate. Daher müssen alle Tags für Layout, Formatierung und Stil explizit in der Vorlage für das Steuerelement deklariert werden.

Bei dem Repeater-Steuerelement handelt es sich um das einzige Websteuerelement, mit dem Markuptags über mehrere Vorlagen hinweg aufgeteilt werden können. Um eine Tabelle mit Vorlagen zu erstellen, verwenden Sie den Anfangstag für Tabellen (<table>) in HeaderTemplate, den Tag für eine einzelne Tabellenzeile (<tr>) in ItemTemplate und den Endtag für Tabellen (</table>) in FooterTemplate.

Das Repeater-Steuerelement weist keine integrierten Funktionen für das Markieren und keine integrierte Unterstützung für das Bearbeiten auf. Mit dem ItemCommand-Ereignis können Sie Steuerelementereignisse verarbeiten, die durch die Vorlagen des Steuerelements ausgelöst werden.

Das Repeater-Steuerelement stellt zur Unterstützung der Datenbindung zwei Eigenschaften bereit. Zum Binden von Daten an ein beliebiges Objekt, das die System.Collections.IEnumerable-Schnittstelle (z. B. eine System.Data.DataView, System.Collections.ArrayList, System.Collections.Hashtable oder ein Array) oder die IListSource-Schnittstelle implementiert, geben Sie mithilfe der DataSource-Eigenschaft die Datenquelle für die Bindung an. Wenn Sie die DataSource-Eigenschaft festlegen, müssen Sie den Code zum Durchführen der Datenbindung manuell schreiben. Legen Sie zum automatischen Binden des Repeater-Steuerelements an eine durch ein Datenquellen-Steuerelement dargestellte Datenquelle die DataSourceID-Eigenschaft auf die ID des zu verwendenden Datenquellen-Steuerelements fest. Wenn Sie die DataSourceID-Eigenschaft festlegen, wird das Repeater-Steuerelement bei der ersten Anforderung automatisch an das angegebene Datenquellen-Steuerelement gebunden. Daher muss die DataBind-Methode nicht explizit aufgerufen werden, es sei denn, datenbezogene Eigenschaften des Repeater-Steuerelements wurden geändert.

Ein Repeater-Steuerelement bindet seine ItemTemplate und seine AlternatingItemTemplate entweder an das Datenmodell, das durch seine DataSource-Eigenschaft deklariert wird und auf das durch diese Eigenschaft verwiesen wird, oder an das von der DataSourceID-Eigenschaft angegebene Datenquellen-Steuerelement. HeaderTemplate, FooterTemplate und SeparatorTemplate sind nicht datengebunden.

Wenn die Datenquelle des Repeater-Steuerelements festgelegt ist, aber keine Daten zurückgegeben werden, gibt das Steuerelement die HeaderTemplate und die FooterTemplate ohne Elemente wieder. Wenn die Datenquelle NULL (Nothing in Visual Basic) ist, wird der Repeater nicht wiedergegeben.

Durch jedes Repeater-Steuerelement muss mindestens eine ItemTemplate definiert werden. Die Darstellung der Liste kann jedoch auch mithilfe anderer optionaler Vorlagen, die in der folgenden Tabelle beschrieben sind, angepasst werden.

Vorlagenname

Beschreibung

ItemTemplate

Definiert Inhalt und Layout der Elemente in der Liste. Diese Vorlage ist erforderlich.

AlternatingItemTemplate

Wenn definiert, wird hierdurch Inhalt und Layout von abwechselnden Elementen (nullbasiert, mit ungeradem Index) bestimmt. Wenn nicht definiert, wird ItemTemplate verwendet.

SeparatorTemplate

Wenn definiert, erfolgt die Wiedergabe zwischen Elementen (und abwechselnden Elementen). Wenn nicht definiert, wird kein Trennzeichen gerendert.

HeaderTemplate

Wenn definiert, werden hierdurch Inhalt und Layout der Listenkopfzeile bestimmt. Wenn nicht definiert, wird keine Kopfzeile gerendert.

FooterTemplate

Wenn definiert, werden hierdurch Inhalt und Layout der Listenfußzeile bestimmt. Wenn nicht definiert, wird keine Fußzeile gerendert.

VorsichtVorsicht

Mithilfe dieses Steuerelements können Benutzereingaben angezeigt werden, die u. U. bösartige Clientskripts enthalten. Überprüfen Sie alle von einem Client gesendeten Informationen auf ausführbare Skripts, SQL-Anweisungen oder sonstigen Code, bevor Sie sie in Ihrer Anwendung anzeigen. ASP.NET stellt ein Feature zur Anforderungsvalidierung von Eingaben bereit, um Skripts und HTML in Benutzereingaben zu blockieren. Serversteuerelemente zur Validierung werden ebenfalls bereitgestellt, um Benutzereingaben zu bewerten. Weitere Informationen finden Sie unter Syntax von Validierungs-Serversteuerelementen.

ThemaPosition
Gewusst wie: Erstellen von Vorlagen für ASP.NET-WebserversteuerelementeErstellen von ASP.NET-Webanwendungen
Exemplarische Vorgehensweise: Erstellen und Verwenden von ASP.NET-Masterseiten in Visual Web DeveloperErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von Vorlagen für Webserver-Steuerelemente mithilfe des DesignersErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Datenbindung an ein benutzerdefiniertes GeschäftsobjektErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Hinzufügen von Repeater-Webserversteuerelementen zu einer Web Forms-Seite (Visual Studio)Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Binden an Daten in einem vorlagenbasierten Steuerelement in Visual StudioErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen und Verwenden von ASP.NET-Masterseiten in Visual Web DeveloperErstellen von Anwendungen mit Visual Web Developer
Gewusst wie: Deklaratives Erstellen von Vorlagen für ASP.NET-WebsteuerelementeErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Hinzufügen von Steuerelementen zu einer ASP.NET-WebseiteErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deklaratives Erstellen von Vorlagen für ASP.NET-WebsteuerelementeErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Programmgesteuertes Hinzufügen von Steuerelementen zu einer ASP.NET-WebseiteErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von Vorlagen für Webserver-Steuerelemente mithilfe des DesignersErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Dynamisches Erstellen von Vorlagen für ASP.NET-WebserversteuerelementeErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Hinzufügen von Repeater-Webserversteuerelementen zu einer Web Forms-SeiteErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Binden an Daten in einem vorlagenbasierten SteuerelementErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Datenbindung an ein benutzerdefiniertes GeschäftsobjektErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Erstellen von Vorlagen für Webserver-Steuerelemente mithilfe des DesignersErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Dynamisches Erstellen von Vorlagen für ASP.NET-WebserversteuerelementeErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Hinzufügen von Repeater-Webserversteuerelementen zu einer Web Forms-SeiteErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Binden an Daten in einem vorlagenbasierten SteuerelementErstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Datenbindung an ein benutzerdefiniertes GeschäftsobjektErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Binden an Daten in einem vorlagenbasierten Steuerelement in Visual StudioErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Reagieren auf Schaltflächenereignisse in DataList- oder Repeater-ElementenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Deklaratives Erstellen von Vorlagen für ASP.NET-WebsteuerelementeErstellen von ASP.NET-Webanwendungen
Gewusst wie: Programmgesteuertes Hinzufügen von Steuerelementen zu einer ASP.NET-WebseiteErstellen von ASP.NET-Webanwendungen
Gewusst wie: Hinzufügen eines Repeater-Steuerelements zu einer Web Forms-SeiteErstellen von ASP.NET-Webanwendungen
Gewusst wie: Dynamisches Erstellen von Vorlagen für ASP.NET-WebserversteuerelementeErstellen von ASP.NET-Webanwendungen
Gewusst wie: Binden an Daten in einem vorlagenbasierten SteuerelementErstellen von ASP.NET-Webanwendungen
Gewusst wie: Reagieren auf Schaltflächenereignisse in DataList-, Repeater- oder GridView-ElementenErstellen von ASP.NET-Webanwendungen
Gewusst wie: Binden an Daten in einem vorlagenbasierten Steuerelement in Visual StudioErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Reagieren auf Schaltflächenereignisse in DataList- oder Repeater-ElementenErstellen von ASP.NET-Webanwendungen in Visual Studio

Im folgenden Codebeispiel wird die Verwendung von zwei einfachen Repeater-Steuerelementen auf einer Seite veranschaulicht. Mithilfe der DataSource-Eigenschaft wird die Datenquelle für das Repeater-Steuerelement angegeben. Im ersten Repeater werden die Elemente in einer Tabelle angezeigt; im zweiten Repeater werden die Elemente in einer durch Trennzeichen getrennten Liste angezeigt.

<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
 <head>
    <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e) {
          if (!IsPostBack) {
             ArrayList values = new ArrayList();
 
             values.Add(new PositionData("Microsoft", "Msft"));
             values.Add(new PositionData("Intel", "Intc"));
             values.Add(new PositionData("Dell", "Dell"));
 
             Repeater1.DataSource = values;
             Repeater1.DataBind();
                 
             Repeater2.DataSource = values;
             Repeater2.DataBind();
          }
       }
 
       public class PositionData {
         
          private string name;
          private string ticker;
 
          public PositionData(string name, string ticker) {
             this.name = name;
             this.ticker = ticker;
          }
 
          public string Name {
             get {
                return name;
             }
          }
 
          public string Ticker {
             get {
                return ticker;
             }
          }
       }
 
    </script>
 
 </head>
 <body>
 
    <h3>Repeater Example</h3>
 
    <form runat=server>
 
       <b>Repeater1:</b>
         
       <p>
         
       <asp:Repeater id=Repeater1 runat="server">
          <HeaderTemplate>
             <table border=1>
                <tr>
                   <td><b>Company</b></td>
                   <td><b>Symbol</b></td>
                </tr>
          </HeaderTemplate>
             
          <ItemTemplate>
             <tr>
                <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
                <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
             </tr>
          </ItemTemplate>
             
          <FooterTemplate>
             </table>
          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
       <b>Repeater2:</b>
       <p>
       <asp:Repeater id=Repeater2 runat="server">
         
          <HeaderTemplate>
             Company data:
          </HeaderTemplate>
             
          <ItemTemplate>
             <%# DataBinder.Eval(Container.DataItem, "Name") %> (<%# DataBinder.Eval(Container.DataItem, "Ticker") %>)
          </ItemTemplate>
             
          <SeparatorTemplate>, </SeparatorTemplate>
       </asp:Repeater>
    </form>
 </body>
 </html>
 

Im folgenden Codebeispiel wird veranschaulicht, wie mit der DataSourceID-Eigenschaft die Datenquelle für ein Repeater-Steuerelement angegeben wird. Die DataSourceID-Eigenschaft wird auf die ID-Eigenschaft des SqlDataSource-Steuerelements festgelegt, mit dem die Daten abgerufen werden. Beim Laden der Seite stellt das Repeater-Steuerelement automatisch die Bindung zu der durch das SqlDataSource-Steuerelement angegebenen Datenquelle her, und die Daten werden angezeigt.

<%@ page language="C#" %>

<html>
  <head>
  </head>

  <body>
    <form id="Form1" runat="server">
        
      <h3>Repeater.DataSourceID Property Example</h3>
      
      <asp:repeater id=Repeater1       
        datasourceid="SqlDataSource1"
        runat=Server>
        
        <headertemplate>
          <table border=1>
            <tr>
              <td><b>Product ID</b></td>
              <td><b>Product Name</b></td>
            </tr>
        </headertemplate>
          
        <itemtemplate>
          <tr>
            <td> <%# Eval("ProductID") %> </td>
            <td> <%# Eval("ProductName") %> </td>
          </tr>
        </itemtemplate>
          
        <footertemplate>
          </table>
        </footertemplate>
      </asp:repeater>
        
			<asp:sqldatasource id="SqlDataSource1" 		 
		    connectionstring="<%$ ConnectionStrings:NorthWindConnection%>" 
        selectcommand="SELECT ProductID, ProductName FROM [Products] Where ProductID <= 10"
        runat="server">
      </asp:sqldatasource>
	           
    </form>      
  </body>
</html>

  • AspNetHostingPermission  zum Ausführen des Repeater-Steuerelements in einer Hostumgebung. Zugeordnete Enumeration: AspNetHostingPermissionLevel.Minimal

System.Object
   System.Web.UI.Control
    System.Web.UI.WebControls.Repeater

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen: