Передача общих данных в _Layout.cshtml в ASP.Net MVC - PullRequest
1 голос
/ 22 марта 2019

В приложении ASP.Net MVC я пытаюсь создать верхнюю панель навигации из таблицы базы данных. Я следую за базой данных первым подходом. используя EntityFramework

Мой сценарий выглядит следующим образом:

У меня есть 3 таблицы MainMenu, SubMenu и ItemMenu. Таблица ItemMenu знает, что это MainMenu и SubMenu. Согласно этим деталям, верхняя строка меню должна отображаться на странице _Layout.cshtml.

Как это реализовать ..? Должен ли я создать частичное представление для MenuBar или есть другие простые способы сделать это?

1 Ответ

2 голосов
/ 23 марта 2019

Вы можете попробовать цикл 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>

Вы можете исправить дизайн как вы сами. Примечание. Получить данные из действия в виде списка данных, используя несколько объектов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...