.NET Framework Class Library
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)
Syntax
Public Class Repeater _
	Inherits [%$TOPIC/w9283stf_en-us_VS_110_2_0_0_0_0%] _
	Implements [%$TOPIC/w9283stf_en-us_VS_110_2_0_0_0_1%]
public class Repeater : [%$TOPIC/w9283stf_en-us_VS_110_2_0_1_0_0%], [%$TOPIC/w9283stf_en-us_VS_110_2_0_1_0_1%]
public ref class Repeater : public [%$TOPIC/w9283stf_en-us_VS_110_2_0_2_0_0%], 
	[%$TOPIC/w9283stf_en-us_VS_110_2_0_2_0_1%]
type Repeater =  
    class 
        inherit [%$TOPIC/w9283stf_en-us_VS_110_2_0_3_0_0%] 
        interface [%$TOPIC/w9283stf_en-us_VS_110_2_0_3_0_1%] 
    end
<asp:Repeater />

The Repeater type exposes the following members.

Constructors
  NameDescription
Public method RepeaterInitializes a new instance of the Repeater class.
Top
Properties
  NameDescription
Protected property AdapterGets the browser-specific adapter for the control. (Inherited from Control.)
Public property AlternatingItemTemplateGets or sets the object implementing System.Web.UIITemplate that defines how alternating items in the control are displayed.
Public property AppRelativeTemplateSourceDirectoryGets or sets the application-relative virtual directory of the Page or UserControl object that contains this control. (Inherited from Control.)
Public property BindingContainerInfrastructure. Gets the control that contains this control's data binding. (Inherited from Control.)
Protected property ChildControlsCreatedGets a value that indicates whether the server control's child controls have been created. (Inherited from Control.)
Public property ClientIDGets the control ID for HTML markup that is generated by ASP.NET. (Inherited from Control.)
Public property ClientIDModeGets or sets the algorithm that is used to generate the value of the ClientID property. (Inherited from Control.)
Protected property ClientIDSeparatorGets a character value representing the separator character used in the ClientID property. (Inherited from Control.)
Protected property ContextGets the HttpContext object associated with the server control for the current Web request. (Inherited from Control.)
Public property ControlsGets a System.Web.UIControlCollection that contains the child controls of the Repeater control. (Overrides ControlControls.)
Public property DataItemContainerGets a reference to the naming container if the naming container implements IDataItemContainer. (Inherited from Control.)
Public property DataKeysContainerGets a reference to the naming container if the naming container implements IDataKeysControl. (Inherited from Control.)
Public property DataMemberGets or sets the specific table in the DataSource to bind to the control.
Public property DataSourceGets or sets the data source that provides data for populating the list.
Public property DataSourceIDGets or sets the ID property of the data source control that the Repeater control should use to retrieve its data source.
Protected property DesignModeGets a value indicating whether a control is being used on a design surface. (Inherited from Control.)
Public property EnableThemingGets or sets a value indicating whether themes are applied to this control. (Overrides ControlEnableTheming.)
Public property EnableViewStateGets 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.)
Protected property EventsGets a list of event handler delegates for the control. This property is read-only. (Inherited from Control.)
Public property FooterTemplateGets or sets the System.Web.UIITemplate that defines how the footer section of the Repeater control is displayed.
Protected property HasChildViewStateGets a value indicating whether the current server control's child controls have any saved view-state settings. (Inherited from Control.)
Public property HeaderTemplateGets or sets the System.Web.UIITemplate that defines how the header section of the Repeater control is displayed.
Public property IDGets or sets the programmatic identifier assigned to the server control. (Inherited from Control.)
Protected property IdSeparatorInfrastructure. Gets the character used to separate control identifiers. (Inherited from Control.)
Protected property InitializedInfrastructure. Returns a value indicating whether the control has been initialized.
Protected property IsBoundUsingDataSourceIDInfrastructure. Gets a value indicating whether the DataSourceID property is set.
Protected property IsChildControlStateClearedGets a value indicating whether controls contained within this control have control state. (Inherited from Control.)
Protected property IsDataBindingAutomaticGets a value that indicates whether data binding is automatic.
Protected property IsTrackingViewStateGets a value that indicates whether the server control is saving changes to its view state. (Inherited from Control.)
Protected property IsViewStateEnabledGets a value indicating whether view state is enabled for this control. (Inherited from Control.)
Public property ItemsGets a collection of RepeaterItem objects in the Repeater control.
Public property ItemTemplateGets or sets the System.Web.UIITemplate that defines how items in the Repeater control are displayed.
Public property ItemTypeThe name of the model type for strongly typed data binding.
Protected property LoadViewStateByIDGets a value indicating whether the control participates in loading its view state by ID instead of index. (Inherited from Control.)
Public property NamingContainerGets a reference to the server control's naming container, which creates a unique namespace for differentiating between server controls with the same ControlID property value. (Inherited from Control.)
Public property PageGets a reference to the Page instance that contains the server control. (Inherited from Control.)
Public property ParentGets a reference to the server control's parent control in the page control hierarchy. (Inherited from Control.)
Public property RenderingCompatibilityGets a value that specifies the ASP.NET version that rendered HTML will be compatible with. (Inherited from Control.)
Protected property RequiresDataBindingGets or sets a value indicating whether the Repeater control needs to bind to its specified data source.
Protected property SelectArgumentsInfrastructure. Gets a DataSourceSelectArguments object that the Repeater control uses when retrieving data from a data source control.
Public property SelectMethodThe name of the method to call in order to read data.
Public property SeparatorTemplateGets or sets the System.Web.UIITemplate interface that defines how the separator between items is displayed.
Public property SiteGets information about the container that hosts the current control when rendered on a design surface. (Inherited from Control.)
Public property SkinIDGets or sets the skin to apply to the control. (Inherited from Control.)
Public property TemplateControlGets or sets a reference to the template that contains this control. (Inherited from Control.)
Public property TemplateSourceDirectoryGets the virtual directory of the Page or UserControl that contains the current server control. (Inherited from Control.)
Public property UniqueIDGets the unique, hierarchically qualified identifier for the server control. (Inherited from Control.)
Public property ValidateRequestModeGets or sets a value that indicates whether the control checks client input from the browser for potentially dangerous values. (Inherited from Control.)
Protected property ViewStateGets 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.)
Protected property ViewStateIgnoresCaseGets a value that indicates whether the StateBag object is case-insensitive. (Inherited from Control.)
Public property ViewStateModeGets or sets the view-state mode of this control. (Inherited from Control.)
Public property VisibleGets or sets a value that indicates whether a server control is rendered as UI on the page. (Inherited from Control.)
Top
Methods
  NameDescription
Protected method AddedControlCalled after a child control is added to the Controls collection of the Control object. (Inherited from Control.)
Protected method AddParsedSubObjectNotifies 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.)
Public method ApplyStyleSheetSkinApplies the style properties defined in the page style sheet to the control. (Inherited from Control.)
Protected method BeginRenderTracingBegins design-time tracing of rendering data. (Inherited from Control.)
Protected method BuildProfileTreeInfrastructure. Gathers information about the server control and delivers it to the Trace property to be displayed when tracing is enabled for the page. (Inherited from Control.)
Protected method ClearCachedClientIDInfrastructure. Sets the cached ClientID value to . (Inherited from Control.)
Protected method ClearChildControlStateDeletes the control-state information for the server control's child controls. (Inherited from Control.)
Protected method ClearChildStateDeletes the view-state and control-state information for all the server control's child controls. (Inherited from Control.)
Protected method ClearChildViewStateDeletes the view-state information for all the server control's child controls. (Inherited from Control.)
Protected method ClearEffectiveClientIDModeInfrastructure. Sets the ClientIDMode property of the current control instance and of any child controls to Inherit. (Inherited from Control.)
Protected method CreateChildControlsInfrastructure. 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.)
Protected method CreateControlCollectionCreates a new ControlCollection object to hold the child controls (both literal and server) of the server control. (Inherited from Control.)
Protected method CreateControlHierarchyInfrastructure. Creates a control hierarchy, with or without the specified data source.
Protected method CreateDataSourceSelectArgumentsInfrastructure. Returns the Empty value.
Protected method CreateItemInfrastructure. Creates a RepeaterItem object with the specified item type and location within the Repeater control.
Public method DataBindInfrastructure. Binds the Repeater control and all its child controls to the specified data source. (Overrides ControlDataBind.)
Protected method DataBind(Boolean)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.)
Protected method DataBindChildrenBinds a data source to the server control's child controls. (Inherited from Control.)
Public method DisposeEnables a server control to perform final clean up before it is released from memory. (Inherited from Control.)
Protected method EndRenderTracingEnds design-time tracing of rendering data. (Inherited from Control.)
Protected method EnsureChildControlsDetermines whether the server control contains child controls. If it does not, it creates child controls. (Inherited from Control.)
Protected method EnsureDataBoundVerifies that the Repeater control requires data binding and that a valid data source control is specified before calling the DataBind method.
Protected method EnsureIDCreates an identifier for controls that do not have an identifier assigned. (Inherited from Control.)
Public method Equals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected method FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method FindControl(String)Searches the current naming container for a server control with the specified id parameter. (Inherited from Control.)
Protected method FindControl(String, Int32)Infrastructure. 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.)
Public method FocusSets input focus to a control. (Inherited from Control.)
Protected method GetDataInfrastructure. Returns an IEnumerable interface from the data source.
Protected method GetDesignModeStateInfrastructure. Gets design-time data for a control. (Inherited from Control.)
Public method GetHashCodeServes as the default hash function. (Inherited from Object.)
Public method GetRouteUrl(Object)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public method GetRouteUrl(RouteValueDictionary)Gets the URL that corresponds to a set of route parameters. (Inherited from Control.)
Public method GetRouteUrl(String, Object)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public method GetRouteUrl(String, RouteValueDictionary)Gets the URL that corresponds to a set of route parameters and a route name. (Inherited from Control.)
Public method GetTypeGets the Type of the current instance. (Inherited from Object.)
Public method GetUniqueIDRelativeToReturns the prefixed portion of the UniqueID property of the specified control. (Inherited from Control.)
Public method HasControlsDetermines if the server control contains any child controls. (Inherited from Control.)
Protected method HasEventsReturns a value indicating whether events are registered for the control or any child controls. (Inherited from Control.)
Protected method InitializeItemInfrastructure. Populates iteratively the specified RepeaterItem with a sub-hierarchy of child controls.
Protected method IsLiteralContentInfrastructure. Determines if the server control holds only literal content. (Inherited from Control.)
Protected method LoadControlStateRestores control-state information from a previous page request that was saved by the SaveControlState method. (Inherited from Control.)
Protected method LoadViewStateRestores view-state information from a previous page request that was saved using the SaveViewState method. (Overrides ControlLoadViewState(Object).)
Protected method MapPathSecureRetrieves the physical path that a virtual path, either absolute or relative, maps to. (Inherited from Control.)
Protected method MemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnBubbleEventInfrastructure. Raises the ItemCommand event if the EventArgs parameter is an instance of RepeaterCommandEventArgs. (Overrides ControlOnBubbleEvent(Object, EventArgs).)
Protected method OnCreatingModelDataSourceRaises the CreatingModelDataSource event.
Protected method OnDataBindingInfrastructure. Raises the DataBinding event. (Overrides ControlOnDataBinding(EventArgs).)
Protected method OnDataPropertyChangedInfrastructure. Determines whether data binding is required.
Protected method OnDataSourceViewChangedSets the RequiresDataBinding property to true.
Protected method OnInitRaises the Init event. (Overrides ControlOnInit(EventArgs).)
Protected method OnItemCommandRaises the ItemCommand event.
Protected method OnItemCreatedRaises the ItemCreated event.
Protected method OnItemDataBoundRaises the ItemDataBound event.
Protected method OnLoadRaises the Load event and performs other initialization. (Overrides ControlOnLoad(EventArgs).)
Protected method OnPreRenderRaises the PreRender event. (Overrides ControlOnPreRender(EventArgs).)
Protected method OnUnloadRaises the Unload event. (Inherited from Control.)
Protected method OpenFileGets a Stream used to read a file. (Inherited from Control.)
Protected method RaiseBubbleEventAssigns any sources of the event and its information to the control's parent. (Inherited from Control.)
Protected method RemovedControlCalled after a child control is removed from the Controls collection of the Control object. (Inherited from Control.)
Protected method RenderSends server control content to a provided HtmlTextWriter object, which writes the content to be rendered on the client. (Inherited from Control.)
Protected method RenderChildrenOutputs 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.)
Public method RenderControl(HtmlTextWriter)Outputs server control content to a provided HtmlTextWriter object and stores tracing information about the control if tracing is enabled. (Inherited from Control.)
Protected method RenderControl(HtmlTextWriter, ControlAdapter)Outputs server control content to a provided HtmlTextWriter object using a provided ControlAdapter object. (Inherited from Control.)
Protected method ResolveAdapterGets the control adapter responsible for rendering the specified control. (Inherited from Control.)
Public method ResolveClientUrlGets a URL that can be used by the browser. (Inherited from Control.)
Public method ResolveUrlConverts a URL into one that is usable on the requesting client. (Inherited from Control.)
Protected method SaveControlStateSaves any server control state changes that have occurred since the time the page was posted back to the server. (Inherited from Control.)
Protected method SaveViewStateSaves any view-state changes that have occurred since the time the page was posted back to the server. (Overrides ControlSaveViewState.)
Protected method SetDesignModeStateSets design-time data for a control. (Inherited from Control.)
Public method SetRenderMethodDelegateInfrastructure. Assigns an event handler delegate to render the server control and its content into its parent control. (Inherited from Control.)
Public method SetTraceData(Object, Object)Sets trace data for design-time tracing of rendering data, using the trace data key and the trace data value. (Inherited from Control.)
Public method SetTraceData(Object, Object, Object)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.)
Public method ToStringReturns a string that represents the current object. (Inherited from Object.)
Protected method TrackViewStateCauses tracking of view-state changes to the control so they can be stored in the control's StateBag object. (Overrides ControlTrackViewState.)
Top
Events
  NameDescription
Public event CallingDataMethodsOccurs when data methods are being called.
Public event CreatingModelDataSourceOccurs when the ModelDataSource object is being created.
Public event DataBindingOccurs when the server control binds to a data source. (Inherited from Control.)
Public event DisposedOccurs 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.)
Public event InitOccurs when the server control is initialized, which is the first step in its lifecycle. (Inherited from Control.)
Public event ItemCommandOccurs when a button is clicked in the Repeater control.
Public event ItemCreatedOccurs when an item is created in the Repeater control.
Public event ItemDataBoundOccurs after an item in the Repeater control is data-bound but before it is rendered on the page.
Public event LoadOccurs when the server control is loaded into the Page object. (Inherited from Control.)
Public event PreRenderOccurs after the Control object is loaded but prior to rendering. (Inherited from Control.)
Public event UnloadOccurs when the server control is unloaded from memory. (Inherited from Control.)
Top
Extension Methods
  NameDescription
Public Extension Method EnableDynamicData(Type)Overloaded. Enables Dynamic Data behavior for the specified data control. (Defined by DataControlExtensions.)
Public Extension Method EnableDynamicData(Type, Object)Overloaded. Enables Dynamic Data behavior for the specified data control. (Defined by DataControlExtensions.)
Public Extension Method EnableDynamicData(Type, IDictionaryString, Object)Overloaded. Enables Dynamic Data behavior for the specified data control. (Defined by DataControlExtensions.)
Public Extension Method FindDataSourceControlReturns the data source that is associated with the data control for the specified control. (Defined by DynamicDataExtensions.)
Public Extension Method FindFieldTemplateReturns the field template for the specified column in the specified control's naming container. (Defined by DynamicDataExtensions.)
Public Extension Method FindMetaTableReturns the metatable object for the containing data control. (Defined by DynamicDataExtensions.)
Public Extension Method GetDefaultValuesGets the collection of the default values for the specified data control. (Defined by DynamicDataExtensions.)
Public Extension Method GetMetaTableGets the table metadata for the specified data control. (Defined by DynamicDataExtensions.)
Public Extension Method SetMetaTable(MetaTable)Overloaded. Sets the table metadata for the specified data control. (Defined by DynamicDataExtensions.)
Public Extension Method SetMetaTable(MetaTable, IDictionaryString, Object)Overloaded. Sets the table metadata and default value mapping for the specified data control. (Defined by DynamicDataExtensions.)
Public Extension Method SetMetaTable(MetaTable, Object)Overloaded. Sets the table metadata and default value mapping for the specified data control. (Defined by DynamicDataExtensions.)
Public Extension Method TryGetMetaTableDetermines whether table metadata is available. (Defined by DynamicDataExtensions.)
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implemetation Private property IControlBuilderAccessorControlBuilderFor a description of this member, see IControlBuilderAccessorControlBuilder. (Inherited from Control.)
Explicit interface implemetation Private method IControlDesignerAccessorGetDesignModeStateFor a description of this member, see IControlDesignerAccessorGetDesignModeState. (Inherited from Control.)
Explicit interface implemetation Private method IControlDesignerAccessorSetDesignModeStateFor a description of this member, see IControlDesignerAccessorSetDesignModeState. (Inherited from Control.)
Explicit interface implemetation Private method IControlDesignerAccessorSetOwnerControlInfrastructure. For a description of this member, see IControlDesignerAccessorSetOwnerControl. (Inherited from Control.)
Explicit interface implemetation Private property IControlDesignerAccessorUserDataFor a description of this member, see IControlDesignerAccessorUserData. (Inherited from Control.)
Explicit interface implemetation Private property IDataBindingsAccessorDataBindingsFor a description of this member, see IDataBindingsAccessorDataBindings. (Inherited from Control.)
Explicit interface implemetation Private property IDataBindingsAccessorHasDataBindingsFor a description of this member, see IDataBindingsAccessorHasDataBindings. (Inherited from Control.)
Explicit interface implemetation Private property IExpressionsAccessorExpressionsFor a description of this member, see IExpressionsAccessorExpressions. (Inherited from Control.)
Explicit interface implemetation Private property IExpressionsAccessorHasExpressionsFor a description of this member, see IExpressionsAccessorHasExpressions. (Inherited from Control.)
Explicit interface implemetation Private method IParserAccessorAddParsedSubObjectFor a description of this member, see IParserAccessorAddParsedSubObject. (Inherited from Control.)
Top
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 HeaderTemplate, a single table row tag (<tr>) in the ItemTemplate, and the end table tag (</table>) in the FooterTemplate.

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.

Caution noteCaution

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 DataSource property to specify the data source. When you set the DataSource 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 DataSourceID property to the ID of the data source control to use. When you set the DataSourceID 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 ItemTemplate and AlternatingItemTemplate to either the data model declared and referenced by its DataSource property or the data source control specified by its DataSourceID property. The HeaderTemplate, FooterTemplate, and SeparatorTemplate are not data-bound.

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

Templates

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

Template name

Description

ItemTemplate

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

AlternatingItemTemplate

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

SeparatorTemplate

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

HeaderTemplate

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

FooterTemplate

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 DataSource 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="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>
 
<%@ 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>
 

The following code example demonstrates how to use the DataSourceID property to specify the data source for a Repeater control. The DataSourceID property is set to the ID 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="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>
<%@ 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>
Version Information

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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.