C# 使用下拉菜单制作动态菜单
我目前有如下动态菜单:C# 使用下拉菜单制作动态菜单,c#,asp.net,C#,Asp.net,我目前有如下动态菜单: <asp:Repeater runat="server" id="MenuRepeater"> <headertemplate> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a
<asp:Repeater runat="server" id="MenuRepeater">
<headertemplate>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">KezBlu</a>
<div class="nav-collapse collapse">
<ul class="nav">
</headertemplate>
<itemtemplate>
<li><a href='<%# Eval("PageFile") %>'><%# Eval("DisplayName") %></a></li>
</itemtemplate>
<footertemplate>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
</footertemplate>
</asp:Repeater>
这很好,但我也需要子菜单
是否有一种方法可以在某种程度上为每一个项目设置重复器,或者是一种更好的方法
谢谢您可以使用嵌套中继器:
<asp:Repeater ID="rptFirstLevel" runat="server">
<ItemTemplate>
<!-- first level html -->
<asp:Repeater ID="rptSecondLevel" DataSource='<%# DataBinder.Eval(Container.DataItem, "Children") %>' runat="server">
<ItemTemplate>
<!-- second level html -->
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
并且您的菜单
对象包含子对象
集合。
这只是众多可能的解决方案之一。希望能有所帮助。上次遇到这个问题时,我记得我希望使用MVC,结果只是使用嵌套中继器。你需要使用嵌套中继器。你能举个例子吗?
<asp:Repeater ID="rptFirstLevel" runat="server">
<ItemTemplate>
<!-- first level html -->
<asp:Repeater ID="rptSecondLevel" DataSource='<%# DataBinder.Eval(Container.DataItem, "Children") %>' runat="server">
<ItemTemplate>
<!-- second level html -->
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
rptFirstLevel.DataSource = menu;
rptFirstLevel.DataBind();