Repeater.OnItemCreated(RepeaterItemEventArgs) 方法

定义

引发 ItemCreated 事件。Raises the ItemCreated event.

protected:
 virtual void OnItemCreated(System::Web::UI::WebControls::RepeaterItemEventArgs ^ e);
protected virtual void OnItemCreated (System.Web.UI.WebControls.RepeaterItemEventArgs e);
abstract member OnItemCreated : System.Web.UI.WebControls.RepeaterItemEventArgs -> unit
override this.OnItemCreated : System.Web.UI.WebControls.RepeaterItemEventArgs -> unit
Protected Overridable Sub OnItemCreated (e As RepeaterItemEventArgs)

参数

e
RepeaterItemEventArgs

包含事件数据的 RepeaterItemEventArgs 对象。The RepeaterItemEventArgs object that contains the event data.

示例

下面的示例演示了一种处理 Repeater 控件的 ItemCreated 事件的方法。The following example illustrates a way to handle the ItemCreated event of the Repeater control. 创建 Repeater 项时,将显示一个新的文本行,其中显示项类型。A new line of text indicating the item type is displayed whenever a Repeater item is created.

<%@ 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">
       int Count = 1;
       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();
          }
       }
 
       void R1_ItemCreated(Object Sender, RepeaterItemEventArgs e) {
          String iTypeText = "";
 
          switch (e.Item.ItemType) {
             case ListItemType.Item:
                iTypeText = "Item";
                break;
             case ListItemType.AlternatingItem:
                iTypeText = "AlternatingItem";
                break;
             case ListItemType.Header:
                iTypeText = "Header";
                break;
             case ListItemType.Footer:
                iTypeText = "Footer";
                break;
             case ListItemType.Separator:
                iTypeText = "Separator";
                break;
          }
          Label1.Text += "(" + Count++ + ") A Repeater " + iTypeText + " has been created; <br />";
       }    
 
       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" OnItemCreated="R1_ItemCreated" 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 />
         
       <asp:Label id="Label1" font-names="Verdana" ForeColor="Red" font-size="10pt" runat="server"/>
    </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">
    Dim Count As Integer = 1

    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()
        End If
    End Sub

    Sub R1_ItemCreated(Sender As Object, e As RepeaterItemEventArgs)
        Dim iTypeText As String = ""
        
        Select Case e.Item.ItemType
            Case ListItemType.Item
                iTypeText = "Item"
            Case ListItemType.AlternatingItem
                iTypeText = "AlternatingItem"
            Case ListItemType.Header
                iTypeText = "Header"
            Case ListItemType.Footer
                iTypeText = "Footer"
            Case ListItemType.Separator
                iTypeText = "Separator"
        End Select
        Count = Count + 1
        Label1.Text &= "(" & Count & ") A Repeater " & iTypeText & _
            " has been created; <br />"
    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 'New
        
        
        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" OnItemCreated="R1_ItemCreated" 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 />
         
       <asp:Label id="Label1" font-names="Verdana" ForeColor="Red" font-size="10pt" runat="server"/>
    </form>
 </body>
 </html>
    

注解

引发事件时,将通过委托调用事件处理程序。Raising an event invokes the event handler through a delegate. 有关如何处理事件的详细信息,请参阅处理和引发事件For more information about how to handle events, see Handling and Raising Events.

继承者说明

当在派生类中重写 OnItemCreated(RepeaterItemEventArgs) 时,请确保调用基类的 OnItemCreated(RepeaterItemEventArgs) 方法。When overriding OnItemCreated(RepeaterItemEventArgs) in a derived class, be sure to call the base class's OnItemCreated(RepeaterItemEventArgs) method.

适用于

另请参阅