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 {
width: %;
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 {
width: %;
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)