Repeater-重复器 - 类似WinForm中的ListView,用列表来展示数据
格式:
<body> <form id="form1" runat="server"> <asp:Repeater ID="Repeater1" runat="server"> <%-- 重复器 --%> <HeaderTemplate></HeaderTemplate> <%-- 头模板 --%> <ItemTemplate></ItemTemplate> <%-- 项模板 --%> <AlternatingItemTemplate></AlternatingItemTemplate> <%-- 交替模板 --%> <FooterTemplate></FooterTemplate> <%-- 脚模板 --%> </asp:Repeater> </form> </body>
<HeaderTemplate></HeaderTemplate> - 头模板:在循环开始时,其内容只会打印一遍
<ItemTemplate></ItemTemplate> - 项模板:重复循环打印其内容(李献策lxc)
<AlternatingItemTemplate></AlternatingItemTemplate> - 交替模板:与项模板交替打印
<FooterTemplate></FooterTemplate> - 脚模板:在循环结束时,其内容只会打印一遍
在后台绑定数据源
Repeater1.DataSource = new UserData().Select(); Repeater1.DataBind();
例如:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List<Users> lu = new UsersData().Select(); Repeater1.DataSource = lu; Repeater1.DataBind(); } }
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> #tb1 { 100%; text-align: center; background-color: navy; } #t-header { color: white; } .t-item { background-color: white; } </style> </head> <body> <form id="form1" runat="server"> <%-- 重复器 --%> <asp:Repeater ID="Repeater1" runat="server"> <%-- 头模板 --%> <HeaderTemplate> <table id="tb1"> <tr id="t-header"> <td>编号</td> <td>用户名</td> <td>密码</td> <td>昵称</td> <td>性别</td> <td>生日</td> <td>民族</td> <td>班级</td> </tr> </HeaderTemplate> <%-- 项模板 --%> <ItemTemplate> <tr class="t-item"> <td><%#Eval("Ids") %></td> <td><%#Eval("UserName") %></td> <td><%#Eval("Password") %></td> <td><%#Eval("NickName") %></td> <td><%#Eval("Sex") %></td> <td><%#Eval("Birthday") %></td> <td><%#Eval("Nation") %></td> <td><%#Eval("Class") %></td> </tr> </ItemTemplate> <%-- 脚模板 --%> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>
<ItemTemplate> 绑定数据格式:<td><%#Eval(" ") %></td>(李献策lxc)
交替展示:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> #tb1 { 100%; text-align: center; background-color: navy; } #t-header { color: white; } .t-item { background-color: white; } .t-item1 { background-color:aqua; } </style> </head> <body> <form id="form1" runat="server"> <%-- 重复器 --%> <asp:Repeater ID="Repeater1" runat="server"> <%-- 头模板 --%> <HeaderTemplate> <table id="tb1"> <tr id="t-header"> <td>编号</td> <td>用户名</td> <td>密码</td> <td>昵称</td> <td>性别</td> <td>生日</td> <td>民族</td> <td>班级</td> </tr> </HeaderTemplate> <%-- 项模板 --%> <ItemTemplate> <tr class="t-item"> <td><%#Eval("Ids") %></td> <td><%#Eval("UserName") %></td> <td><%#Eval("Password") %></td> <td><%#Eval("NickName") %></td> <td><%#Eval("Sex") %></td> <td><%#Eval("Birthday") %></td> <td><%#Eval("Nation") %></td> <td><%#Eval("Class") %></td> </tr> </ItemTemplate> <%-- 交替模板 --%> <AlternatingItemTemplate> <tr class="t-item1"> <td><%#Eval("Ids") %></td> <td><%#Eval("UserName") %></td> <td><%#Eval("Password") %></td> <td><%#Eval("NickName") %></td> <td><%#Eval("Sex") %></td> <td><%#Eval("Birthday") %></td> <td><%#Eval("Nation") %></td> <td><%#Eval("Class") %></td> </tr> </AlternatingItemTemplate> <%-- 脚模板 --%> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </form> </body> </html>
一般,如果通过条件判断来改变样式的,放在属性扩展里,单纯只改变样式,则放在HTML样式中就可以
1、Sex - 显示男女
属性扩展
2、Birthday - 显示年月日
<td><%#Eval("Birthday","{0:yyyy年MM月dd日}") %></td>
0 - 代表前面的数据,“:”后为要显示格式(李献策lxc)
3、年龄小于15岁的项显示红色 - 属性扩展
<tr>行 展示扩展的属性,可以用来实现-预警-等功能
4、昵称后面加“同学”两个字
5、民族列为黄色(李献策lxc)