在ASP.Net MVC应用程序中,我试图从数据库表生成顶部导航栏。我遵循数据库优先方法。使用EntityFramework
我的情况如下:
我有3个表MainMenu
,SubMenu
和ItemMenu
。 ItemMenu
表知道它是MainMenu和SubMenu。根据这些详细信息,顶部菜单栏应显示在_Layout.cshtml页面上。
如何实施此..?我应该为MenuBar创建局部视图还是有其他简单的方法来实现此目的?
答案 0 :(得分:2)
您可以尝试使用Foreach循环显示主菜单,子菜单和子菜单。
您可以尝试类似波纹管
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
@foreach(var item in mainMenu)
{
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@item.MainMenu1<b class="caret"></b></a>
<ul class="dropdown-menu">
@foreach(var subItem in item.SubMenu){
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">@subItem.SubMenu1<b class="caret"></b></a>
<ul class="dropdown-menu">
@foreach(var childItem in subItem.ChildMenu){
<li>@Html.ActionLink(@childItem, "Action", "Controller")</li>
}
</ul>
</li>
}
</ul>
</li>
}
</ul>
您可以自己修改设计。 注意:使用多个对象从操作中获取数据作为数据列表