将常见数据传递到ASP.Net MVC中的_Layout.cshtml

时间:2019-03-22 17:48:05

标签: c# asp.net asp.net-mvc entity-framework

在ASP.Net MVC应用程序中,我试图从数据库表生成顶部导航栏。我遵循数据库优先方法。使用EntityFramework

我的情况如下:

我有3个表MainMenuSubMenuItemMenuItemMenu表知道它是MainMenu和SubMenu。根据这些详细信息,顶部菜单栏应显示在_Layout.cshtml页面上。

如何实施此..?我应该为MenuBar创建局部视图还是有其他简单的方法来实现此目的?

1 个答案:

答案 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>

您可以自己修改设计。 注意:使用多个对象从操作中获取数据作为数据列表