cka*_*ass 13 asp.net webforms repeater itemtemplate
我正在使用asp.net转发器来创建一堆图像.图像标记完全相同,因此标准<ItemTemplate>很好.
但是,我想将K图像包装在div中.让我说我将25个以上的图像绑定到转发器上,我希望每个div有5个图像.如何有条件地创建div的开始和关闭标签?
这是一个更适合for循环的情况.
Nic*_*ick 23
这应该对你有用,后面的代码不需要任何东西(除了绑定转发器..):
<asp:Repeater ID="repImages" runat="server">
<HeaderTemplate><div></HeaderTemplate>
<ItemTemplate>
<%# (Container.ItemIndex != 0 && Container.ItemIndex % 5 == 0) ? @"</div><div>" : string.Empty %>
<asp:Image ID="imgGallery" runat="server" ImageUrl='<%# /* your code  here */ %>' />
</ItemTemplate>
<FooterTemplate></div></FooterTemplate>
</asp:Repeater>
Ste*_*nby 10
这里是Asp.Net WebForms可以为您提供令人难以置信的RAD效率的地方.您可以使用新的ListView控件,并设置每个"组"的项目数,这将允许您设置围绕组的HTML以及每个单独的项目.这样,您可以使用条件标记围绕组.
<asp:ListView ID="ListView1" runat="server" DataKeyNames="id" DataSourceID="LinqDataSource1" GroupItemCount="3">
<LayoutTemplate>
    <div id="layout">
        <asp:PlaceHolder ID="groupPlaceholder" runat="server"></asp:PlaceHolder>
    </div>
</LayoutTemplate>
<GroupTemplate>
    <div class="group">
        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
    </div>
</GroupTemplate>
<EmptyDataTemplate>
    <span>No data was returned.</span>
</EmptyDataTemplate>
<ItemTemplate>
    <div class="item">
        <img alt='<%# Eval("title") %>' title='<%# Eval("title") %>'
            src='<%# Eval("filename","photos/{0}") %>' />
    </div>
</ItemTemplate>
</asp:ListView>