如何使用razor脚本设置Umbraco中当前子菜单项的样式
我有以下基于当前文档创建子菜单的代码。文档有子菜单,我用它来构建子菜单 当我在当前项目上时,如何检查?当子菜单上的项目是当前项目时,我想设置该项目的样式 我知道我可以做如何使用razor脚本设置Umbraco中当前子菜单项的样式,razor,menu,umbraco,Razor,Menu,Umbraco,我有以下基于当前文档创建子菜单的代码。文档有子菜单,我用它来构建子菜单 当我在当前项目上时,如何检查?当子菜单上的项目是当前项目时,我想设置该项目的样式 我知道我可以做if(Model.Id==page.Id)来查找当前项目,但这不起作用 带着文件 这是我要修改的代码 @foreach (var node in new Document(999).Children) { <li>@node.Id</a> @{ var mychildren = no
if(Model.Id==page.Id)
来查找当前项目,但这不起作用
带着文件
这是我要修改的代码
@foreach (var node in new Document(999).Children)
{
<li>@node.Id</a>
@{ var mychildren = node.Children;
if (mychildren.Count() > 0)
{
<ul>
<li>@node.id</a></li>
@foreach (var snode in mychildren)
{
<li>@snode.id</a></li>
}
</ul>
}
</li>
}
}
@foreach(新文档中的var节点(999).Children)
{
@node.Id
@{var mychildren=node.Children;
如果(mychildren.Count()>0)
{
- @node.id
@foreach(mychildren中的变量snode)
{
- @snode.id
}
}
}
}
为什么不使用DynamicNode而不是Document,然后使用助手检查并添加类?例如:
<ul>
@foreach (var node in new Library.NodeNyId(999).Children)
{
<li@getClasses(node)><a href="@node.NiceUrl">@node.Name</a></li>
@{
var mychildren = node.Children;
if (mychildren.Count() > 0)
{
<ul>
@foreach (var snode in mychildren)
{
<li@getClasses(snode)><a href="@snode.NiceUrl">@snode.Name</a></li>
}
</ul>
}
}
</li>
}
}
</ul>
@helper getClasses(dynamic node)
{
string classes = "";
if (Model.Id == node.Id)
{
classes = " class=\"active\"";
}
@Html.Raw(classes);
}
@foreach(新库中的var节点.NodeNyId(999).Children)
{
@{
var mychildren=node.Children;
如果(mychildren.Count()>0)
{
@foreach(mychildren中的变量snode)
{
}
}
}
}
}
@助手类(动态节点)
{
字符串类=”;
if(Model.Id==node.Id)
{
class=“class=\”活动\”;
}
@Html.Raw(类);
}
(Library.NodeById方法返回一个DynamicNode对象。)为什么不使用DynamicNode而不是Document,然后使用助手检查并添加类?例如:
<ul>
@foreach (var node in new Library.NodeNyId(999).Children)
{
<li@getClasses(node)><a href="@node.NiceUrl">@node.Name</a></li>
@{
var mychildren = node.Children;
if (mychildren.Count() > 0)
{
<ul>
@foreach (var snode in mychildren)
{
<li@getClasses(snode)><a href="@snode.NiceUrl">@snode.Name</a></li>
}
</ul>
}
}
</li>
}
}
</ul>
@helper getClasses(dynamic node)
{
string classes = "";
if (Model.Id == node.Id)
{
classes = " class=\"active\"";
}
@Html.Raw(classes);
}
@foreach(新库中的var节点.NodeNyId(999).Children)
{
@{
var mychildren=node.Children;
如果(mychildren.Count()>0)
{
@foreach(mychildren中的变量snode)
{
}
}
}
}
}
@助手类(动态节点)
{
字符串类=”;
if(Model.Id==node.Id)
{
class=“class=\”活动\”;
}
@Html.Raw(类);
}
(Library.NodeById方法返回一个DynamicNode对象。)谢谢。你救了我一天。这就是我要找的!非常感谢。你救了我一天。这就是我要找的!