Simple nested Repeater controls
Just found a piece of functionality which I’ve never noticed before, for populating nested Repeaters, without doing so in the code behind with a “OnDataBound” Event.
It’s as simple as just setting the DataSource on the child repeater, to a property of the parent repeaters DataItem. For example;
<asp:Repeater ID="BookRepeater" runat="server" onitemdatabound="bibRepeater_ItemDataBound"> <HeaderTemplate><ul></HeaderTemplate> <ItemTemplate> <li> <h1><%# DataBinder.Eval(Container.DataItem, "BookTitle")%></h1> <asp:Repeater ID="AuthorsRepeater" runat="server" DataSource='<%# ((Book)Container.DataItem).Authors %>'> <HeaderTemplate><h5>Author: </HeaderTemplate> <ItemTemplate> <a href='/AuthorDetails.aspx?id=<%# DataBinder.Eval(Container.DataItem, "Id")%>' title="<%# DataBinder.Eval(Container.DataItem, "FirstName")%> <%# DataBinder.Eval(Container.DataItem, "LastName")%>"><%# DataBinder.Eval(Container.DataItem, "FirstName")%> <%# DataBinder.Eval(Container.DataItem, "LastName")%></a> </ItemTemplate> <SeparatorTemplate>, </SeparatorTemplate> <FooterTemplate></h5></FooterTemplate> </asp:Repeater> </li> </ItemTemplate> <FooterTemplate></ul></FooterTemplate> </asp:Repeater>
You may need to add a declaration to the namespace in which your entities reside, at the top of your aspx file, like this;
<%@ Import Namespace="Hachette.Entities.Orchard" %>
full details on MSDN; How To Display Hierarchical Data by Using Nested Repeater Controls and Visual C# .NET.
- No comments yet.










