在 ASP.NET Web Forms 中,Repeater 是一个用于数据绑定的控件,允许你以重复的方式显示数据。Repeater 可以与数据源(如数据库、集合、数组等)结合使用,动态生成重复的 HTML 结构。以下是关于在 WebForms 中使用 Repeater 的基本概念和示例:

1. 创建 Repeater:
   在 ASP.NET Web Forms 页面中,你可以使用 <asp:Repeater> 标签创建一个 Repeater 控件。
   <asp:Repeater ID="repeaterExample" runat="server">
       <ItemTemplate>
           <!-- 重复的 HTML 结构 -->
           <div>
               <span><%# Eval("FieldName") %></span>
           </div>
       </ItemTemplate>
   </asp:Repeater>

   在上述示例中,ItemTemplate 标签中定义了重复的 HTML 结构,其中 <%# Eval("FieldName") %> 用于绑定数据源中的字段值。

2. 绑定数据到 Repeater:
   在代码文件中,你需要在页面加载或其他适当的事件中绑定数据到 Repeater 控件。
   using System;
   using System.Data;

   public partial class WebForm1 : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)
       {
           if (!IsPostBack)
           {
               // 获取数据源(可以是数据库查询、集合、数组等)
               DataTable dt = GetDataSource();

               // 将数据源绑定到 Repeater
               repeaterExample.DataSource = dt;
               repeaterExample.DataBind();
           }
       }

       private DataTable GetDataSource()
       {
           // 返回模拟的数据表
           DataTable dt = new DataTable();
           dt.Columns.Add("FieldName");

           // 添加示例数据
           dt.Rows.Add("Data 1");
           dt.Rows.Add("Data 2");
           dt.Rows.Add("Data 3");

           return dt;
       }
   }

   在上述示例中,GetDataSource 方法用于返回模拟的数据表,并在 Page_Load 事件中将数据表绑定到 Repeater 控件。

3. 自定义 Repeater 的外观和布局:
   你可以在 Repeater 中自定义重复的 HTML 结构,包括布局、样式等。Repeater 提供了多个事件(如 ItemDataBound),允许你在生成每个重复项时进行进一步的自定义。
   <asp:Repeater ID="repeaterExample" runat="server" OnItemDataBound="repeaterExample_ItemDataBound">
       <ItemTemplate>
           <!-- 重复的 HTML 结构 -->
           <div>
               <span><%# Eval("FieldName") %></span>
           </div>
       </ItemTemplate>
   </asp:Repeater>
   protected void repeaterExample_ItemDataBound(object sender, RepeaterItemEventArgs e)
   {
       if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
       {
           // 可在这里进一步自定义每个重复项的外观
           // 例如,根据特定条件更改样式或显示不同的内容
       }
   }

   在上述示例中,OnItemDataBound 事件用于在每个重复项生成时进行自定义操作。

通过使用 Repeater 控件,你可以方便地在 ASP.NET Web Forms 页面中重复显示数据,而无需手动编写重复的 HTML 结构。 Repeater 是数据绑定和呈现重复数据的强大工具。


转载请注明出处:http://www.zyzy.cn/article/detail/14994/ASP.NET Web Forms