Repeater.ItemDataBound Event


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

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

Public Event ItemDataBound As RepeaterItemEventHandler

This event is raised when an item in the Repeater control is data-bound.

For more information about handling events, see NIB: Consuming Events.

The following example demonstrates how to specify and code a handler for the ItemDataBound event of the Repeater control. The data is modified after it is bound to an item in the Repeater control but before it is rendered on the page.

<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<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 Evaluation("Razor Wiper Blades", "Good"))
            values.Add(New Evaluation("Shoe-So-Soft Softening Polish", "Poor"))
            values.Add(New Evaluation("DynaSmile Dental Fixative", "Fair"))

            Repeater1.DataSource = values
        End If
    End Sub

    Sub R1_ItemDataBound(Sender As Object, e As RepeaterItemEventArgs)

        ' This event is raised for the header, the footer, separators, and items.

        ' Execute the following logic for Items and Alternating Items.
        If (e.Item.ItemType = ListItemType.Item) Or _
            (e.Item.ItemType = ListItemType.AlternatingItem) Then

            If CType(e.Item.DataItem, Evaluation).Rating = "Good" Then
                CType(e.Item.FindControl("RatingLabel"), Label).Text = _
            End If
        End If
    End Sub

    Public Class Evaluation

        Private myProductid As String
        Private myRating As String        

        Public Sub New(newProductid As String, newRating As String)
            Me.myProductid = newProductid
            Me.myRating = newRating
        End Sub        

        Public ReadOnly Property ProductID() As String
                Return myProductid
            End Get
        End Property        

        Public ReadOnly Property Rating() As String
                Return myRating
            End Get
        End Property
    End Class

<html xmlns="" >
    <title>OnItemDataBound Example</title>

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

    <h3>OnItemDataBound Example</h3>

       <br />
       <asp:Repeater id="Repeater1" OnItemDataBound="R1_ItemDataBound" runat="server">
             <table border="1">
                   <td><b>Consumer Rating</b></td>

                <td> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' Runat="server"/> </td>
                <td> <asp:Label id="RatingLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Rating") %>' Runat="server"/> </td>


       <br />


.NET Framework
Available since 1.1
Return to top