我想将<br>
标记仅放在第6个项目的前面。
我该怎么做?
<asp:Repeater ID="rptWinner" runat="server">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<%# GetWinnerID(Container.DataItem) %>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
答案 0 :(得分:1)
试试这个:
<asp:Repeater ID="rptWinner" runat="server">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<%# GetWinnerID(Container.DataItem) %>
<%# Container.ItemIndex == 4 ? "<br />" : string.Empty %>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
这会在第五个元素之后添加<br />
标记(在第6个元素之前)。
答案 1 :(得分:0)
首先,您需要添加占位符来保存BR,或添加标签。然后你需要绑定OnItemDataBound
事件并进行检查:
protected void rptWinner_OnItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.Index == 6)
{
PlaceHolder ph = e.Item.FindControl("myPlaceholder") as PlaceHolder;
ph.Controls.Add(new LiteralControl("<br>"));
}
}
或者那种效果;)