Repeater.CreateItem(Int32, ListItemType) 方法

定义

使用 RepeaterItem 控件中指定的项类型和位置创建 Repeater 对象。Creates a RepeaterItem object with the specified item type and location within the Repeater control.

protected:
 virtual System::Web::UI::WebControls::RepeaterItem ^ CreateItem(int itemIndex, System::Web::UI::WebControls::ListItemType itemType);
protected virtual System.Web.UI.WebControls.RepeaterItem CreateItem (int itemIndex, System.Web.UI.WebControls.ListItemType itemType);
abstract member CreateItem : int * System.Web.UI.WebControls.ListItemType -> System.Web.UI.WebControls.RepeaterItem
override this.CreateItem : int * System.Web.UI.WebControls.ListItemType -> System.Web.UI.WebControls.RepeaterItem
Protected Overridable Function CreateItem (itemIndex As Integer, itemType As ListItemType) As RepeaterItem

参数

itemIndex
Int32

Repeater 控件中放置所创建的项的指定位置。The specified location within the Repeater control to place the created item.

itemType
ListItemType

一个 ListItemType,表示要创建的 Repeater 项的指定类型。A ListItemType that represents the specified type of the Repeater item to create.

返回

新的 RepeaterItem 对象。The new RepeaterItem object.

示例

下面的代码示例演示如何重写自定义服务器控件中的 CreateItem 方法,以便它始终返回一个新的 RepeaterItem 和相应的索引,并在自定义 Repeater 服务器控件中键入。The following code example demonstrates how to override the CreateItem method in a custom server control so that it always returns a new RepeaterItem and corresponding index and type in a custom Repeater server control.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ 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>Custom Repeater - CreateItem - C# 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();
        }
      }

      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>
        <form id="Form1" method="post" runat="server">
            <h3>Custom Repeater - CreateItem - C# Example</h3>
            
            <aspSample:CustomRepeaterCreateItem id="Repeater1" runat="server">
              <HeaderTemplate>
                <table border="1" cellpadding="4" cellspacing="0">
                  <tr>
                    <th>Company</th>
                    <th>Symbol</th>
                  </tr>
              </HeaderTemplate>
              <ItemTemplate>
                <tr>
                  <td> <%# DataBinder.Eval(Container.DataItem, "Name") %></td>
                  <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %></td>
                </tr>
              </ItemTemplate>
              <FooterTemplate>
                </table>
              </FooterTemplate>
          </aspSample:CustomRepeaterCreateItem>
       </form>
    </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ 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>Custom Repeater - CreateItem - VB.NET 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()
                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>
        <form id="Form1" method="post" runat="server">
            <h3>Custom Repeater - CreateItem - VB.NET Example</h3>
            
            <aspSample:CustomRepeaterCreateItem id="Repeater1" runat="server" >
                    <HeaderTemplate>
                        <table border="1" cellpadding="4" cellspacing="0">
                            <tr>
                                <th>Company</th>
                                <th>Symbol</th>
                            </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td> <%# DataBinder.Eval(Container.DataItem, "Name") %></td>
                            <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %></td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate>
                        </table>
                    </FooterTemplate>
                </aspSample:CustomRepeaterCreateItem>
        </form>
    </body>
</html>
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
  public sealed class CustomRepeaterCreateItem : System.Web.UI.WebControls.Repeater
  {
    protected override System.Web.UI.WebControls.RepeaterItem CreateItem(int itemIndex, System.Web.UI.WebControls.ListItemType itemType)
    {
      // Return a new RepeaterItem with the corresponding item index and type.
      return new System.Web.UI.WebControls.RepeaterItem(itemIndex, itemType);
    }
  }
}
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomRepeaterCreateItem
        Inherits System.Web.UI.WebControls.Repeater

        Protected Overrides Function CreateItem(ByVal itemIndex As Integer, ByVal itemType As System.Web.UI.WebControls.ListItemType) As System.Web.UI.WebControls.RepeaterItem

            ' Return a new RepeaterItem with the corresponding item index and type.
            Return New System.Web.UI.WebControls.RepeaterItem(itemIndex, itemType)
        End Function
    End Class
End Namespace

适用于

另请参阅