DDRMenu 不呈现 Razor 模板中的所有内容 |神经网络
DDRMenu not rendering everything in Razor template | DNN
简单的 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>
第一页和最后一页没有子页。我在这里错过了什么?
您可能在皮肤的 nav 文件夹中丢失了 cs 文件(通常 "nav.cshtml")。它可能未包含在安装 .zip 文件夹中。
抱歉,我忘记发布了这个...问题实际上出在我的 .ascx 中的控件上;我为菜单设置了错误的父项:
<dnn:menu id="dnnNav" menustyle="nav" nodeselector="
成员" runat="server"/>
所以 MenuNode 确实没有要列出的子节点。
简单的 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>
第一页和最后一页没有子页。我在这里错过了什么?
您可能在皮肤的 nav 文件夹中丢失了 cs 文件(通常 "nav.cshtml")。它可能未包含在安装 .zip 文件夹中。
抱歉,我忘记发布了这个...问题实际上出在我的 .ascx 中的控件上;我为菜单设置了错误的父项:
<dnn:menu id="dnnNav" menustyle="nav" nodeselector="
成员" runat="server"/>
所以 MenuNode 确实没有要列出的子节点。