ASP.NET verschachtelte Repeater mit teilweise leeren Items

  • C#

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von simpelSoft.

    ASP.NET verschachtelte Repeater mit teilweise leeren Items

    Hallo,
    ich benutze in ASP.NET (Webforms / C#) zwei verschachtelte Repeater, um hierarchische Daten als Liste anzuzeigen.
    Dabei kann es vorkommen, das es zu den Parents keine Childs gibt.
    Leider bleiben in diesem Fall die äußeren <ul> </ul> Tags leer stehen (die in Zeile 12 und 20).
    Wie kann man dies am besten vermeiden?

    HTML-Quellcode

    1. <!-- Categories Menu Starts -->
    2. <div id="ncats">
    3. <asp:Repeater ID="parentRepeater" runat="server" OnItemCommand="SelParents_ItemCommand">
    4. <ItemTemplate>
    5. <!-- Parent Starts -->
    6. <asp:Button ID="btnParent" runat="server" CssClass="parentItem" Text='<%# DataBinder.Eval(Container.DataItem,"[\"description\"]") %>' CommandName="cmd" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"[\"id\"]") %>' />
    7. <!-- Parent Ends -->
    8. <asp:Repeater ID="childRepeater" runat="server" DataSource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("relations") %>'>
    9. <HeaderTemplate>
    10. <!-- Childs Starts -->
    11. <ul>
    12. </HeaderTemplate>
    13. <ItemTemplate>
    14. <li>
    15. <asp:Button ID="btnChild" runat="server" CssClass="childItem" Text='<%# DataBinder.Eval(Container.DataItem,"[\"description\"]") %>' />
    16. </li>
    17. </ItemTemplate>
    18. <FooterTemplate>
    19. </ul>
    20. <!-- Childs Ends -->
    21. </FooterTemplate>
    22. </asp:Repeater>
    23. </ItemTemplate>
    24. </asp:Repeater>
    25. </div>
    26. <!-- Categories Menu Ends -->