Repeater Class
 

A data-bound list control that allows custom layout by repeating a specified template for each item displayed in the list.

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

Inheritance Hierarchy
SystemObject
   System.Web.UIControl
    System.Web.UI.WebControlsRepeater
       System.Web.DynamicDataFilterRepeater

Syntax
public class Repeater : Control, INamingContainer
public ref class Repeater : Control, INamingContainer
type Repeater = 
    class
        inherit Control
        interface INamingContainer
    end
Public Class Repeater
	Inherits Control
	Implements INamingContainer
Constructors
NameDescription
System_CAPS_pubmethod Repeater

Initializes a new instance of the Repeater class.

Properties
NameDescription
System_CAPS_protproperty

Gets the browser-specific adapter for the control.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the object implementing System.Web.UIITemplate that defines how alternating items in the control are displayed.

System_CAPS_pubproperty

Gets or sets the application-relative virtual directory of the Page or UserControl object that contains this control.(Inherited from Control.)

System_CAPS_pubproperty

This API supports the product infrastructure and is not intended to be used directly from your code. Gets the control that contains this control's data binding.(Inherited from Control.)

System_CAPS_protproperty

Gets a value that indicates whether the server control's child controls have been created.(Inherited from Control.)

System_CAPS_pubproperty

Gets the control ID for HTML markup that is generated by ASP.NET.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the algorithm that is used to generate the value of the property.(Inherited from Control.)

System_CAPS_protproperty

Gets a character value representing the separator character used in the property.(Inherited from Control.)

System_CAPS_protproperty

Gets the HttpContext object associated with the server control for the current Web request.(Inherited from Control.)

System_CAPS_pubproperty

Gets a System.Web.UIControlCollection that contains the child controls of the Repeater control.(Overrides .)

System_CAPS_pubproperty

Gets a reference to the naming container if the naming container implements IDataItemContainer.(Inherited from Control.)

System_CAPS_pubproperty

Gets a reference to the naming container if the naming container implements IDataKeysControl.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the specific table in the to bind to the control.

System_CAPS_pubproperty

Gets or sets the data source that provides data for populating the list.

System_CAPS_pubproperty

Gets or sets the property of the data source control that the Repeater control should use to retrieve its data source.

System_CAPS_protproperty

Gets a value indicating whether a control is being used on a design surface.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets a value indicating whether themes are applied to this control.(Overrides .)

System_CAPS_pubproperty

Gets or sets a value indicating whether the server control persists its view state, and the view state of any child controls it contains, to the requesting client.(Inherited from Control.)

System_CAPS_protproperty

Gets a list of event handler delegates for the control. This property is read-only.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the System.Web.UIITemplate that defines how the footer section of the Repeater control is displayed.

System_CAPS_protproperty

Gets a value indicating whether the current server control's child controls have any saved view-state settings.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the System.Web.UIITemplate that defines how the header section of the Repeater control is displayed.

System_CAPS_pubproperty

Gets or sets the programmatic identifier assigned to the server control.(Inherited from Control.)

System_CAPS_protproperty

This API supports the product infrastructure and is not intended to be used directly from your code. Gets the character used to separate control identifiers.(Inherited from Control.)

System_CAPS_protproperty

This API supports the product infrastructure and is not intended to be used directly from your code. Returns a value indicating whether the control has been initialized.

System_CAPS_protproperty

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a value indicating whether the property is set.

System_CAPS_protproperty

Gets a value indicating whether controls contained within this control have control state.(Inherited from Control.)

System_CAPS_protproperty

Gets a value that indicates whether data binding is automatic.

System_CAPS_protproperty

Gets a value that indicates whether the server control is saving changes to its view state.(Inherited from Control.)

System_CAPS_protproperty

Gets a value indicating whether view state is enabled for this control.(Inherited from Control.)

System_CAPS_pubproperty

Gets a collection of RepeaterItem objects in the Repeater control.

System_CAPS_pubproperty

Gets or sets the System.Web.UIITemplate that defines how items in the Repeater control are displayed.

System_CAPS_pubproperty

The name of the model type for strongly typed data binding.

System_CAPS_protproperty

Gets a value indicating whether the control participates in loading its view state by instead of index. (Inherited from Control.)

System_CAPS_pubproperty

Gets a reference to the server control's naming container, which creates a unique namespace for differentiating between server controls with the same property value.(Inherited from Control.)

System_CAPS_pubproperty

Gets a reference to the Page instance that contains the server control.(Inherited from Control.)

System_CAPS_pubproperty

Gets a reference to the server control's parent control in the page control hierarchy.(Inherited from Control.)

System_CAPS_pubproperty

Gets a value that specifies the ASP.NET version that rendered HTML will be compatible with.(Inherited from Control.)

System_CAPS_protproperty

Gets or sets a value indicating whether the Repeater control needs to bind to its specified data source.

System_CAPS_protproperty

This API supports the product infrastructure and is not intended to be used directly from your code. Gets a DataSourceSelectArguments object that the Repeater control uses when retrieving data from a data source control.

System_CAPS_pubproperty

The name of the method to call in order to read data.

System_CAPS_pubproperty

Gets or sets the System.Web.UIITemplate interface that defines how the separator between items is displayed.

System_CAPS_pubproperty

Gets information about the container that hosts the current control when rendered on a design surface.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the skin to apply to the control.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets a reference to the template that contains this control. (Inherited from Control.)

System_CAPS_pubproperty

Gets the virtual directory of the Page or UserControl that contains the current server control.(Inherited from Control.)

System_CAPS_pubproperty

Gets the unique, hierarchically qualified identifier for the server control.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets a value that indicates whether the control checks client input from the browser for potentially dangerous values.(Inherited from Control.)

System_CAPS_protproperty

Gets a dictionary of state information that allows you to save and restore the view state of a server control across multiple requests for the same page.(Inherited from Control.)

System_CAPS_protproperty

Gets a value that indicates whether the StateBag object is case-insensitive.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets the view-state mode of this control.(Inherited from Control.)

System_CAPS_pubproperty

Gets or sets a value that indicates whether a server control is rendered as UI on the page.(Inherited from Control.)

Methods
NameDescription
System_CAPS_protmethod AddedControl

Called after a child control is added to the collection of the Control object.(Inherited from Control.)

System_CAPS_protmethod AddParsedSubObject

Notifies the server control that an element, either XML or HTML, was parsed, and adds the element to the server control's ControlCollection object.(Inherited from Control.)

System_CAPS_pubmethod ApplyStyleSheetSkin

Applies the style properties defined in the page style sheet to the control.(Inherited from Control.)

System_CAPS_protmethod BeginRenderTracing

Begins design-time tracing of rendering data.(Inherited from Control.)

System_CAPS_protmethod BuildProfileTree

This API supports the product infrastructure and is not intended to be used directly from your code. Gathers information about the server control and delivers it to the property to be displayed when tracing is enabled for the page.(Inherited from Control.)

System_CAPS_protmethod ClearCachedClientID

This API supports the product infrastructure and is not intended to be used directly from your code. Sets the cached value to null.(Inherited from Control.)

System_CAPS_protmethod ClearChildControlState

Deletes the control-state information for the server control's child controls. (Inherited from Control.)

System_CAPS_protmethod ClearChildState

Deletes the view-state and control-state information for all the server control's child controls.(Inherited from Control.)

System_CAPS_protmethod ClearChildViewState

Deletes the view-state information for all the server control's child controls.(Inherited from Control.)

System_CAPS_protmethod ClearEffectiveClientIDMode

This API supports the product infrastructure and is not intended to be used directly from your code. Sets the property of the current control instance and of any child controls to Inherit.(Inherited from Control.)

System_CAPS_protmethod CreateChildControls

This API supports the product infrastructure and is not intended to be used directly from your code. Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.(Overrides ControlCreateChildControls.)

System_CAPS_protmethod CreateControlCollection

Creates a new ControlCollection object to hold the child controls (both literal and server) of the server control.(Inherited from Control.)

System_CAPS_protmethod CreateControlHierarchy

This API supports the product infrastructure and is not intended to be used directly from your code. Creates a control hierarchy, with or without the specified data source.

System_CAPS_protmethod CreateDataSourceSelectArguments

This API supports the product infrastructure and is not intended to be used directly from your code. Returns the value.

System_CAPS_protmethod CreateItem

This API supports the product infrastructure and is not intended to be used directly from your code. Creates a RepeaterItem object with the specified item type and location within the Repeater control.

System_CAPS_pubmethod DataBind

This API supports the product infrastructure and is not intended to be used directly from your code. Binds the Repeater control and all its child controls to the specified data source.(Overrides ControlDataBind.)

System_CAPS_protmethod DataBind

Binds a data source to the invoked server control and all its child controls with an option to raise the DataBinding event. (Inherited from Control.)

System_CAPS_protmethod DataBindChildren

Binds a data source to the server control's child controls.(Inherited from Control.)

System_CAPS_pubmethod Dispose

Enables a server control to perform final clean up before it is released from memory.(Inherited from Control.)

System_CAPS_protmethod EndRenderTracing

Ends design-time tracing of rendering data.(Inherited from Control.)

System_CAPS_protmethod EnsureChildControls

Determines whether the server control contains child controls. If it does not, it creates child controls.(Inherited from Control.)

System_CAPS_protmethod EnsureDataBound

Verifies that the Repeater control requires data binding and that a valid data source control is specified before calling the DataBind method.

System_CAPS_protmethod EnsureID

Creates an identifier for controls that do not have an identifier assigned.(Inherited from Control.)

System_CAPS_pubmethod Equals

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethod Finalize

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethod FindControl

Searches the current naming container for a server control with the specified id parameter.(Inherited from Control.)

System_CAPS_protmethod FindControl

This API supports the product infrastructure and is not intended to be used directly from your code. Searches the current naming container for a server control with the specified id and an integer, specified in the pathOffset parameter, which aids in the search. You should not override this version of the FindControl method.(Inherited from Control.)

System_CAPS_pubmethod Focus

Sets input focus to a control.(Inherited from Control.)

System_CAPS_protmethod GetData

This API supports the product infrastructure and is not intended to be used directly from your code. Returns an IEnumerable interface from the data source.

System_CAPS_protmethod GetDesignModeState

This API supports the product infrastructure and is not intended to be used directly from your code. Gets design-time data for a control.(Inherited from Control.)

System_CAPS_pubmethod GetHashCode

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethod GetRouteUrl

Gets the URL that corresponds to a set of route parameters.(Inherited from Control.)

System_CAPS_pubmethod GetRouteUrl

Gets the URL that corresponds to a set of route parameters.(Inherited from Control.)

System_CAPS_pubmethod GetRouteUrl

Gets the URL that corresponds to a set of route parameters and a route name.(Inherited from Control.)

System_CAPS_pubmethod GetRouteUrl

Gets the URL that corresponds to a set of route parameters and a route name.(Inherited from Control.)

System_CAPS_pubmethod GetType

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethod GetUniqueIDRelativeTo

Returns the prefixed portion of the property of the specified control.(Inherited from Control.)

System_CAPS_pubmethod HasControls

Determines if the server control contains any child controls.(Inherited from Control.)

System_CAPS_protmethod HasEvents

Returns a value indicating whether events are registered for the control or any child controls.(Inherited from Control.)

System_CAPS_protmethod InitializeItem

This API supports the product infrastructure and is not intended to be used directly from your code. Populates iteratively the specified RepeaterItem with a sub-hierarchy of child controls.

System_CAPS_protmethod IsLiteralContent

This API supports the product infrastructure and is not intended to be used directly from your code. Determines if the server control holds only literal content.(Inherited from Control.)

System_CAPS_protmethod LoadControlState

Restores control-state information from a previous page request that was saved by the SaveControlState method.(Inherited from Control.)

System_CAPS_protmethod LoadViewState
System_CAPS_protmethod MapPathSecure

Retrieves the physical path that a virtual path, either absolute or relative, maps to.(Inherited from Control.)

System_CAPS_protmethod MemberwiseClone

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethod OnBubbleEvent

This API supports the product infrastructure and is not intended to be used directly from your code. Raises the ItemCommand event if the EventArgs parameter is an instance of RepeaterCommandEventArgs.(Overrides ControlOnBubbleEvent.)

System_CAPS_protmethod OnCreatingModelDataSource

Raises the CreatingModelDataSource event.

System_CAPS_protmethod OnDataBinding

This API supports the product infrastructure and is not intended to be used directly from your code. Raises the DataBinding event.(Overrides ControlOnDataBinding.)

System_CAPS_protmethod OnDataPropertyChanged

This API supports the product infrastructure and is not intended to be used directly from your code. Determines whether data binding is required.

System_CAPS_protmethod OnDataSourceViewChanged

Sets the property to true.

System_CAPS_protmethod OnInit

Raises the Init event. (Overrides ControlOnInit.)

System_CAPS_protmethod OnItemCommand

Raises the ItemCommand event.

System_CAPS_protmethod OnItemCreated

Raises the ItemCreated event.

System_CAPS_protmethod OnItemDataBound

Raises the ItemDataBound event.

System_CAPS_protmethod OnLoad

Raises the Load event and performs other initialization. (Overrides ControlOnLoad.)

System_CAPS_protmethod OnPreRender

Raises the PreRender event.(Overrides ControlOnPreRender.)

System_CAPS_protmethod OnUnload

Raises the Unload event.(Inherited from Control.)

System_CAPS_protmethod OpenFile

Gets a Stream used to read a file.(Inherited from Control.)

System_CAPS_protmethod RaiseBubbleEvent

Assigns any sources of the event and its information to the control's parent.(Inherited from Control.)

System_CAPS_protmethod RemovedControl

Called after a child control is removed from the collection of the Control object.(Inherited from Control.)

System_CAPS_protmethod Render

Sends server control content to a provided HtmlTextWriter object, which writes the content to be rendered on the client.(Inherited from Control.)

System_CAPS_protmethod RenderChildren

Outputs the content of a server control's children to a provided HtmlTextWriter object, which writes the content to be rendered on the client.(Inherited from Control.)

System_CAPS_pubmethod RenderControl

Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled.(Inherited from Control.)

System_CAPS_protmethod RenderControl

Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object.(Inherited from Control.)

System_CAPS_protmethod ResolveAdapter

Gets the control adapter responsible for rendering the specified control.(Inherited from Control.)

System_CAPS_pubmethod ResolveClientUrl

Gets a URL that can be used by the browser.(Inherited from Control.)

System_CAPS_pubmethod ResolveUrl

Converts a URL into one that is usable on the requesting client.(Inherited from Control.)

System_CAPS_protmethod SaveControlState

Saves any server control state changes that have occurred since the time the page was posted back to the server.(Inherited from Control.)

System_CAPS_protmethod SaveViewState

Saves any view-state changes that have occurred since the time the page was posted back to the server.(Overrides ControlSaveViewState.)

System_CAPS_protmethod SetDesignModeState

Sets design-time data for a control.(Inherited from Control.)

System_CAPS_pubmethod SetRenderMethodDelegate

This API supports the product infrastructure and is not intended to be used directly from your code. Assigns an event handler delegate to render the server control and its content into its parent control.(Inherited from Control.)

System_CAPS_pubmethod SetTraceData

Sets trace data for design-time tracing of rendering data, using the trace data key and the trace data value.(Inherited from Control.)

System_CAPS_pubmethod SetTraceData

Sets trace data for design-time tracing of rendering data, using the traced object, the trace data key, and the trace data value.(Inherited from Control.)

System_CAPS_pubmethod ToString

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_protmethod TrackViewState

Causes tracking of view-state changes to the control so they can be stored in the control's StateBag object.(Overrides ControlTrackViewState.)

Events
NameDescription
System_CAPS_pubevent CallingDataMethods

Occurs when data methods are being called.

System_CAPS_pubevent CreatingModelDataSource

Occurs when the ModelDataSource object is being created.

System_CAPS_pubevent DataBinding

Occurs when the server control binds to a data source.(Inherited from Control.)

System_CAPS_pubevent Disposed

Occurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested.(Inherited from Control.)

System_CAPS_pubevent Init

Occurs when the server control is initialized, which is the first step in its lifecycle.(Inherited from Control.)

System_CAPS_pubevent ItemCommand

Occurs when a button is clicked in the Repeater control.

System_CAPS_pubevent ItemCreated

Occurs when an item is created in the Repeater control.

System_CAPS_pubevent ItemDataBound

Occurs after an item in the Repeater control is data-bound but before it is rendered on the page.

System_CAPS_pubevent Load

Occurs when the server control is loaded into the Page object.(Inherited from Control.)

System_CAPS_pubevent PreRender

Occurs after the Control object is loaded but prior to rendering.(Inherited from Control.)

System_CAPS_pubevent Unload

Occurs when the server control is unloaded from memory.(Inherited from Control.)

Explicit Interface Implementations
NameDescription
System_CAPS_pubinterface System_CAPS_privmethod IControlDesignerAccessorGetDesignModeState

For a description of this member, see IControlDesignerAccessorGetDesignModeState.(Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privmethod IControlDesignerAccessorSetDesignModeState

For a description of this member, see IControlDesignerAccessorSetDesignModeState. (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privmethod IControlDesignerAccessorSetOwnerControl

This API supports the product infrastructure and is not intended to be used directly from your code. For a description of this member, see IControlDesignerAccessorSetOwnerControl. (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privmethod IParserAccessorAddParsedSubObject

For a description of this member, see IParserAccessorAddParsedSubObject. (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

System_CAPS_pubinterface System_CAPS_privproperty

For a description of this member, see . (Inherited from Control.)

Extension Methods
NameDescription
System_CAPS_pubmethod EnableDynamicData

Overloaded. Enables Dynamic Data behavior for the specified data control.(Defined by DataControlExtensions.)

System_CAPS_pubmethod EnableDynamicData

Overloaded. Enables Dynamic Data behavior for the specified data control.(Defined by DataControlExtensions.)

System_CAPS_pubmethod EnableDynamicData

Overloaded. Enables Dynamic Data behavior for the specified data control.(Defined by DataControlExtensions.)

System_CAPS_pubmethod FindDataSourceControl

Returns the data source that is associated with the data control for the specified control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod FindFieldTemplate

Returns the field template for the specified column in the specified control's naming container.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod FindMetaTable

Returns the metatable object for the containing data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod GetDefaultValues

Overloaded. Gets the collection of the default values for the specified data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod GetMetaTable

Overloaded. Gets the table metadata for the specified data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod SetMetaTable

Overloaded. Sets the table metadata for the specified data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod SetMetaTable

Overloaded. Sets the table metadata and default value mapping for the specified data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod SetMetaTable

Overloaded. Sets the table metadata and default value mapping for the specified data control.(Defined by DynamicDataExtensions.)

System_CAPS_pubmethod TryGetMetaTable

Overloaded. Determines whether table metadata is available.(Defined by DynamicDataExtensions.)

Remarks

In this topic:

  • Introduction

  • Data Binding

  • Templates

  • Declarative Syntax

Introduction

The Repeater control is a basic templated data-bound list. It has no built-in layout or styles, so you must explicitly declare all layout, formatting, and style tags within the control's templates.

The Repeater control allows you to split markup tags across the templates. To create a table using templates, include the begin table tag (<table>) in the , a single table row tag (<tr>) in the , and the end table tag (</table>) in the .

The Repeater control has no built-in selection capabilities or editing support. You can use the ItemCommand event to process control events that are raised from the templates to the control.

System_CAPS_cautionCaution

This control can be used to display user input, which might include malicious client script. Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. ASP.NET provides an input request validation feature to block script and HTML in user input. Validation server controls are also provided to assess user input. For more information, see Validation Server Control Syntax.

Data Binding

The Repeater control provides two properties to support data binding. To bind data to any collection that implements the System.CollectionsIEnumerable interface (such as a System.DataDataView, a System.CollectionsArrayList, or an array), or the IListSource interface, use the property to specify the data source. When you set the property, you must manually write the code to perform data binding. To automatically bind the Repeater control to a data source represented by a data source control, set the property to the of the data source control to use. When you set the property, the Repeater control automatically binds to the specified data source control on the first request. Therefore, you do not need to explicitly call the DataBind method unless you have changed data-related properties of the Repeater control.

A Repeater control binds its and to either the data model declared and referenced by its property or the data source control specified by its property. The , , and are not data-bound.

If the Repeater control's data source is set but no data is returned, the control renders the and with no items. If the data source is null, the Repeater is not rendered.

Templates

At a minimum, every Repeater control must define an . However, other optional templates described in the following table can be used to customize the appearance of the list.

Template name

Description

Defines the content and layout of items within the list. This template is required.

If defined, determines the content and layout of alternating (zero-based odd-indexed) items. If not defined, is used.

If defined, is rendered between items (and alternating items). If not defined, a separator is not rendered.

If defined, determines the content and layout of the list header. If not defined, a header is not rendered.

If defined, determines the content and layout of the list footer. If not defined, a footer is not rendered.

Declarative Syntax
<asp:Repeater
    DataMember="string"
    DataSource="string"
    DataSourceID="string"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnItemCommand="ItemCommand event handler"
    OnItemCreated="ItemCreated event handler"
    OnItemDataBound="ItemDataBound event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    Visible="True|False"
>
        <AlternatingItemTemplate>
            <!-- child controls -->
        </AlternatingItemTemplate>
        <FooterTemplate>
            <!-- child controls -->
        </FooterTemplate>
        <HeaderTemplate>
            <!-- child controls -->
        </HeaderTemplate>
        <ItemTemplate>
            <!-- child controls -->
        </ItemTemplate>
        <SeparatorTemplate>
            <!-- child controls -->
        </SeparatorTemplate>
</asp:Repeater>
Examples

A Visual Studio Web site project with source code is available to accompany this topic: Download.

The following code example demonstrates how to use two simple Repeater controls on a page. The property is used to specify the data source for the Repeater control. The first Repeater displays its items in a table; the second Repeater displays its items in a comma-separated list.

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>Repeater Example</title>
<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 id="form1" runat="server">

       <b>Repeater1:</b>

       <br />

       <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>
       <br />

       <b>Repeater2:</b>
       <br />
       <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>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>Repeater Example</title>
<script language="VB" runat="server">

    Sub Page_Load(Sender As Object, e As EventArgs)
        If Not IsPostBack Then
            Dim values As 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()
        End If
    End Sub

    Public Class PositionData

        Private myName As String
        Private myTicker As String        

        Public Sub New(newName As String, newTicker As String)
            Me.myName = newName
            Me.myTicker = newTicker
        End Sub        

        Public ReadOnly Property Name() As String
            Get
                Return myName
            End Get
        End Property        

        Public ReadOnly Property Ticker() As String
            Get
                Return myTicker
            End Get
        End Property
    End Class

    </script>

 </head>
 <body>

    <h3>Repeater Example</h3>

    <form id="form1" runat="server">

       <b>Repeater1:</b>

       <br />

       <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>
       <br />

       <b>Repeater2:</b>
       <br />
       <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>

The following code example demonstrates how to use the property to specify the data source for a Repeater control. The property is set to the property of the SqlDataSource control used to retrieve the data. When the page is loaded, the Repeater control automatically binds to the data source specified by the SqlDataSource control and the data is displayed to the user.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Repeater.DataSourceID Property Example</title>
</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>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Repeater.DataSourceID Property Example</title>
</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>
Version Information
.NET Framework
Available since 1.1
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top