ASP.NET Repeater,每5个项目后需要新行

时间:2013-01-07 17:13:35

标签: asp.net repeater

所以我有一个转发器如下:

                <asp:Repeater ID="footerMenuRepeater" runat="server" onitemdatabound="FooterMenuRepeaterItemDataBound">
                <HeaderTemplate>
                    <ul id="mainMenuList">
                </HeaderTemplate>
                <ItemTemplate>
                    <li class="footerParentSubLists <%# ((FooterMenuItem)Container.DataItem).MenuTitleBoldClass %> <%# Container.ItemIndex == 5 ? "liClearLeft" : string.Empty %>">
                        <div id="footerMenuDiv">
                           <a class="footerMenuHeader" href='<%# ((FooterMenuItem)Container.DataItem).CallToActionLink %>'><%# ((FooterMenuItem)Container.DataItem).Title %></a>
                        </div>
                        <asp:Repeater ID="subItemRepeater" runat="server">
                            <HeaderTemplate>
                                <ul class="footerChildSubList">
                            </HeaderTemplate>
                            <ItemTemplate>
                                <li><a class="footerMenuItems <%# ((FooterMenuItem)Container.DataItem).ArrowClass %>" href="<%# ((FooterMenuItem)Container.DataItem).CallToActionLink %>"><%# ((FooterMenuItem)Container.DataItem).Title %></a>
                                </li>
                            </ItemTemplate>
                            <FooterTemplate>
                                </ul>
                            </FooterTemplate>
                        </asp:Repeater>                
                    </li>
                </ItemTemplate>
                <FooterTemplate>
                    </ul>
                </FooterTemplate>
          </asp:Repeater> 

我要做的是这个转发器中的每5个项目都是创建一个新行,所以我的标记如下:

HTML

<ul id="mainMenuList">
    <li> <!-- row 1  -->
        <ul>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 1</a>
                </div>
                <ul class="footerChildSubList">
                   <li>
                       <a>Sub 1.1</a>
                   </li>
                   <li>
                       <a>Sub 1.2</a>
                   </li>
                   <li>
                       <a>Sub 1.3</a>
                   </li>
                 </ul>
            </li>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 2</a>
                </div>
                <ul class="footerChildSubList">
                   <li>
                       <a>Sub 2.1</a>
                   </li>
                   <li>
                       <a>Sub 2.2</a>
                   </li>
                 </ul>
            </li>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 3</a>
                </div>
            </li>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 4</a>
                </div>
            </li>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 5</a>
                </div>
                <ul class="footerChildSubList">
                   <li>
                       <a>Sub 5.1</a>
                   </li>
                   <li>
                       <a>Sub 5.2</a>
                   </li>
                 </ul>
            </li>            
        </ul>    
    </li>
    <li> <!-- row 2  -->
        <ul>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 6</a>
                </div>
                <ul class="footerChildSubList">
                   <li>
                       <a>Sub 6.1</a>
                   </li>
                   <li>
                       <a>Sub 6.2</a>
                   </li>
                   <li>
                       <a>Sub 6.3</a>
                   </li>
                 </ul>
            </li>
            <li class="footerParentSubLists">
                <div>
                   <a class="footerMenuHeader">Header 7</a>
                </div>
                <ul class="footerChildSubList">
                   <li>
                       <a>Sub 7.1</a>
                   </li>
                   <li>
                       <a>Sub 7.2</a>
                   </li>
                   <li>
                       <a>Sub 7.3</a>
                   </li>
                 </ul>
            </li>
        </ul>
    </li>
</ul>

只是想知道如何将这个逻辑添加到转发器

2 个答案:

答案 0 :(得分:2)

将面板控件添加到项目模板,并将可见性设置为“False”。每个OnItemDataBound事件递增一个页级整数变量。当您达到5的乘数时,将面板的可见性设置为“True”。

如果您需要一些代码来帮助我,请告诉我。

答案 1 :(得分:0)

使用OnItemDtabound事件检查转发器项目边界的计数,当计数达到5时,为下五个转发器项目Simple创建新行。