Repeater控件

王朝学院·作者佚名  2016-05-21
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Repeater控件 Repeater控件和DataList控件,可以用来一次显示一组数据项。比如,可以用它们显示一个数据表中的所有行。 Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式。DataList控件也由模板驱动,和Repeater不同的是,DataList默认输出是HTML表格,DataList将数据源中的记录输出为HTML表格一个个的单元格 。

1、Repeater支持以下5种模板:

● ItemTemplate : 对每一个数据项进行格式设置 (包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。)。 ● AlternatingItemTemplate : 对交替数据项进行格式设置(包含要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。)。 ● SeparatorTemplate : 对分隔符进行格式设置(包含在每项之间呈现的元素。)。 ● HeaderTemplate : 对页眉进行格式设置(包含在列表的开始处分别呈现的文本和控件。)。 ● FooterTemplate : 对页脚进行格式设置(包含在列表的结束处分别呈现的文本和控件。)。

示例一:(基本演示)

aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterDemo._Default" %><!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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="rptPeople" runat="server"> <HeaderTemplate> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem,"Name") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Age") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Sex") %></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </div> </form></body></html>

cs页面:

using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace RepeaterDemo{ public partial class _Default : System.Web.UI.Page { PRotected void Page_Load(object sender, EventArgs e) { List<People> peopleList = new List<People>(); peopleList.Add(new People("韩兆新",24,Sex.男)); peopleList.Add(new People("XXXX", 25, Sex.女)); peopleList.Add(new People("YYYY", 20, Sex.男)); peopleList.Add(new People("ZZZZ", 23, Sex.男)); peopleList.Add(new People("AAAA", 23, Sex.女)); peopleList.Add(new People("BBBB", 18, Sex.女)); rptPeople.DataSource = peopleList; rptPeople.DataBind(); } } public enum Sex { 男 = 2, 女 = 1, }; public class People { public People(string name, uint age, Sex sex) { this.Name = name; this.Age = age; this.Sex = sex; } public string Name {get;set;} public uint Age { get; private set; } public Sex Sex { get; private set; } }}

示例二:(AlternatingItemTemplate 模板)

aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterDemo._Default" %><!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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="rptPeople" runat="server"> <HeaderTemplate> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem,"Name") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Age") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Sex") %></td> </tr> </ItemTemplate> <AlternatingItemTemplate> <tr style="background:gray"> <td><%#DataBinder.Eval(Container.DataItem,"Name") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Age") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Sex") %></td> </tr> </AlternatingItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </div> </form></body></html>

示例三:(SeparatorTemplate模板)

aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterDemo._Default" %><!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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="rptPeople" runat="server"> <HeaderTemplate> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>性别</td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem,"Name") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Age") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Sex") %></td> </tr> </ItemTemplate> <AlternatingItemTemplate> <tr style="background:gray"> <td><%#DataBinder.Eval(Container.DataItem,"Name") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Age") %></td> <td><%#DataBinder.Eval(Container.DataItem,"Sex") %></td> </tr> </AlternatingItemTemplate> <SeparatorTemplate> <tr style="background:red"> <td>123</td> </tr> </SeparatorTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </div> </form></body></html>

2、Repeater控件的嵌套:

示例一:(Repeater控件嵌套演示:操作子Repeater控件)

aspx页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="RepeaterDemo._Default" %><!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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Repeater ID="rptPeople" runat="server" onitemdatabound="rptPeople_ItemDataBound"> <HeaderTemplate> <table border="1"> <tr> <td>姓名</td>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航