2016-07-06 2 views
1

как писать код контроллера на общую страницу макетаКак связать данные страницы макета в осинах MVC 4

я хочу, чтобы получить меню из базы данных в макет,

утра в состоянии получить меню в обычном режиме просмотра страница,

это мой макет страницы

<pre lang="html"> <div style="width:1230px"> 
        <script type="text/ng-template" id="treeMenu"> 
         <a href="{{menu.Description}}">{{menu.Name}}</a> 

         <ul ng-if="(SiteMenu | filter:{ParentID : menu.Id}).length > 0"> 

          <li ng-repeat="menu in SiteMenu | filter:{ParentID : menu.Id} : true" ng-include="'treeMenu'"></li> 
         </ul> 
        </script> 
        <ul class="main-navigation"> 
         <li ng-repeat="menu in SiteMenu | filter:{ParentID : 0} : true" ng-include="'treeMenu'"></li> 
        </ul> 

ответ

1

Вы должны Изола т.е это частичное и использовать RenderAction на странице макета

шаги в двух словах:

  1. Создать действие в какой-то контроллер «скажем CommonController» называется SiteMenu, например.
  2. Поместите код, который приведет данные из базы данных, и сопоставьте его с подходящей ViewModel для представления ваших элементов меню.
  3. Действие должно возвращать PartialView вместо View.
  4. Рассмотрите это действие независимо от вашего основного расположения. Поэтому просто создайте для него особый вид и поместите логику Html в эту точку зрения.
  5. В подходящем месте в вашей основной раскладке просто использовать @Html.RenderAction("SiteMenu ","Common")

для получения дополнительной информации читайте о RenderPartial vs RenderAction vs Partial vs Action in MVC

+0

, как это сделать, сэр, я новичок в MVC –

+0

обновил свой ответ брат –

+0

я получаю сударь ошибки: Тип «TestDemoModel.SiteMenu» в концептуальной стороне не может быть сопоставлен с типом «AccountsLayout.SiteMenu» на стороне объекта. Оба типа должны быть абстрактными, или оба должны быть конкретными типами. Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде. –

Смежные вопросы