使用Razor迭代Umbraco节点并分组成两个节点

mmm*_*che 0 umbraco razor

我正在尝试使用Razor迭代我的Umbraco节点树,并且我想在一个简单的HTML列表中将结果组织成两个一组,但我想不出解决方案.

例如,这是我的Umbraco节点树,它是最简单的形式:

- Node 1
- Node 2
- Node 3
- Node 4
- Node 5
- Node 6
- Node 7
- Node 8
Run Code Online (Sandbox Code Playgroud)

我正在努力实现以下目标:

<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>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何实现这一目标?

Dou*_*low 5

使用未记录的 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>
}
Run Code Online (Sandbox Code Playgroud)

更多InGroupsOf例子: