Repeater基础
在aspx文件中可以使用Repeater控件,在<ItemTemplate></ItemTemplate>中可以融入自己的代码,也需要使用到变量<%#Eval("SellerName")%>,注意两侧的引号。

在.cs文件中使用数据绑定的代码,与.aspx中相对照:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = SellerDA.GetTopHotSellers(9);
SellerRpt.DataSource = dt;
SellerRpt.DataBind();
}
}
优化
DataItem比Eval函数执行更快。可以使用DataItem来减少Eval函数的执行步骤,优化页面解析时间:
<%#((DataRowView)Container.DataItem)["SellerName"]%>替换<%#Eval("SellerName")%>
如果数据源是ArrayList,并且ArrayList为一列string数组,则可不用写出列名。
处理后显示
当从数据库中检索出来的数据并不适合直接显示出来时(例如日期的格式,字符串长度的控制),可以使用标签来占位,在onitemdatabound函数中自行控制:
<asp:Label ID="colinDate" runat="server" Text=""></asp:Label>
嵌套Repeater的显示
某些复杂的显示逻辑需要用到Repeater的嵌套,这里需要自行控制2层数据源的数据绑定。
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="ProRpt_ItemDataBound">
<ItemTemplate>
<asp:Repeater ID="ParaRpt" runat="server" OnItemDataBound="ParaRpt_ItemDataBound">
<ItemTemplate>
<asp:Label ID="bar" CssClass="bar" runat="server" Text="|"></asp:Label>
<span class="para">
<%# Eval("Name")%>:
<%# Eval("Value")%></span>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7284.html
