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

时间:2013-07-10 16:28:34

标签: razor umbraco

我正在尝试使用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>

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

1 个答案:

答案 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示例: