Я хочу создать трехуровневое меню, у меня сегодня есть рекурсивная функция, которая работает с тремя уровнями. Но дело в том, как вывести третий рычаг? Используя два повторителя, мне удалось получить первые два уровня через свойство ChildNodes. Но это только дает мне второй уровень. Что делать, если хотите третий уровень? Пример кода ниже. Как мне получить третий уровень? :)
<asp:Repeater ID="FirstLevel" DataSourceID="SiteMapDataSource" runat="server" EnableViewState="false">
<ItemTemplate>
<li class="top">
<a href='/About/<%#Eval("Title")%>.aspx' class="top_link"><span class="down"><%#Eval("Title")%></span><!--[if gte IE 7]><!--></a><!--<![endif]-->
<asp:Repeater runat="server" ID="SecondLevel" DataSource='<%#((SiteMapNode)Container.DataItem).ChildNodes%>'>
<HeaderTemplate><!--[if lte IE 6]><table><tr><td><![endif]--><ul class="sub"></HeaderTemplate>
<ItemTemplate>
<li>
<a href='<%#((string)Eval("Url")).Replace("~", "")%>' style="text-align: left;"><%#Eval("Title")%></a>
Third repeater here?
</li>
</ItemTemplate>
<FooterTemplate></ul><!--[if lte IE 6]></td></tr></table></a><![endif]--></FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
</asp:Repeater>