我正在尝试使用Razor迭代我的Umbraco节点树,我想在一个简单的HTML列表中将结果组织成两组,但我想不出解决方案。
例如,这是我的Umbraco节点树,它是最简单的形式:
- Node 1
- Node 2
- Node 3
- Node 4
- Node 5
- Node 6
- Node 7
- Node 8
我正在努力实现以下目标:
<ul>
<li>
<span>Node 1</span>
<span>Node 2</span>
</li>
<li>
<span>Node 3</span>
<span>Node 4</span>
</li>
<li>
<span>Node 5</span>
<span>Node 6</span>
</li>
<li>
<span>Node 7</span>
<span>Node 8</span>
</li>
</ul>
有谁知道如何实现这一目标?
答案 0 :(得分:5)
使用undocumented InGroupsOf
方法,您可以非常轻松地完成此操作:
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
<ul>
@foreach (var group in Model.Children.InGroupsOf(2))
{
<li>
@foreach (var node in group)
{
<span>@node.Name</span>
}
</li>
}
</ul>
}
更多InGroupsOf
示例: