2017-01-15 7 views
0

Проблема с простой шаблон Razor. Это должно быть предоставление списка моих страниц DNN:DDRMenu не оказывает все в шаблоне Razor | DNN

@using DotNetNuke.Web.DDRMenu; 
@using System.Dynamic; 
@inherits DotNetNuke.Web.Razor.DotNetNukeWebPage<dynamic> 
@{ 
    var root = Model.Source.root; 
} 
@helper RenderNodes(IList<MenuNode> nodes) { 
    if (nodes.Count > 0) { 
     <div id="dnnFooterMenu"> 
      <ul> 
       @foreach (var node in nodes) { 
        if (node.HasChildren()) { 
         <li> 
          <a href="#"><b>@node.Text</b></a> 
          @RenderChildNodes(node.Children) 
         </li> 
        } 
       } 
      </ul> 
     </div> 
    } 
} 
@helper RenderChildNodes(IList<MenuNode> nodes) { 
    if (nodes.Count > 0) { 
     <ul> 
      @foreach (var node in nodes) { 
       <li><a href="@node.Url">@node.Text</a></li> 
      } 
     </ul> 
    } 
} 
@RenderNodes(root.Children) 

Все это делает это:

<div id="dnnFooterMenu"> 
    <ul> 
     </ul> 
</div> 

Первые и последние страницы не имеют детей. Что мне здесь не хватает?

ответ

0

Извините, забыл, что я разместил это ... Проблема была на самом деле в элементе управления в моем .ascx; У меня был неправильный родительский набор для меню:

<dnn:menu id="dnnNav" menustyle="nav" nodeselector=" Пользователи " runat="server"/>

Так MenuNode буквально не было детей, чтобы перечислить.

0

Вероятно, вам не хватает файла cs (обычно «nav.cshtml») в папке nav на коже. Возможно, он не был включен в папку .zip.