Repeater控件
比较Repeater、DataList和GridView控件
特性 Repeater DataList GridView
支持表(Table)布局 否 否 是
支持流(Flow)布局 是 是 否
支持列(Column)布局 否 是 否
Style属性 否 是 是
模板 是 是 列/可选
Select/Edit/Delete支持 否 是 是
排序 否 否 是
分页 否 否 是
Repeater控件提供了DataList的子功能,通常仅在不需要列布局时使用。
Repeater控件模板
模板名 说明
AlternatingItemTemplate 作为项的模板,但是交替项仅呈现在每个间隔行
FooterTemplate 在所有项和其他模板呈现之后呈现的元素
HeaderTemplate 在其他模板呈现之前呈现的元素
ItemTemplate 数据源中的每一行的呈现元素
SeparatorTemplate 在数据源的每行之间呈现的元素
1 添加Repeater控件
2 为Repeater控件选择(或者创建)一个新的数据源(跟DataLists相同)
3 Repeater控件没有预定外观,必须通过添加模板来显示内容(跟DataLists类似)
例如:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Repeater.aspx.cs" Inherits="_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 id="Head1" runat="server">
<title>Repeater</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [cloud]"></asp:SqlDataSource>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:Label ID="idLabel" runat="server" Text='<%# Eval("name") %>'></asp:Label></ItemTemplate>
<SeparatorTemplate>
,</SeparatorTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>