2017-01-15 1 views
0

Problem mit einer einfachen Razor-Vorlage. Dies sollte eine Liste meiner DNN Seiten werden Rendering:DDRMenu nicht alles in Razor Vorlage | 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) 

Alles was es macht, ist dies:

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

Die ersten und letzten Seiten keine Kinder haben. Was fehlt mir hier?

Antwort

0

Sorry, habe vergessen, dass ich das gepostet habe ... Das Problem lag tatsächlich an der Steuerung in meinem .ascx; Ich hatte den falschen Elternsatz für das Menü:

<dnn:menu id="dnnNav" menustyle="nav" nodeselector=" Mitglieder " runat="server"/>

So ist die MenuNode buchstäblich keine Kinder hatten aufzulisten.

0

Vermutlich fehlt die CS-Datei (normalerweise "nav.cshtml") im Nav-Ordner in der Skin. Es wurde möglicherweise nicht in den ZIP-Installationsordner aufgenommen.