如何养孩子的孩子? Umbraco CMS

时间:2016-07-19 20:47:22

标签: asp.net-mvc-4 razor treeview umbraco

我正在尝试获取位于页面下的文件夹中的所有子页面的集合。但是,我正在努力解决这个问题,而CurrentPage.Children返回文件夹元素(正如预期的那样)。

Example Screenshot

我正在尝试获取所有包(无论是国内还是国际无关紧要,只是让内容编辑更好地输入内容)并在包页面上显示完整包文档类型中的一些字段。

我能做到这一点的最佳和最好的方式是什么?

谢谢, 维沙尔

2 个答案:

答案 0 :(得分:2)

一种方法是在页面级别上获取并过滤。

@{
    foreach (var childchild in CurrentPage.Descendants().Where("Level == " + (CurrentPage.Level+2)))
    {
     <h2>@childchild.Level @childchild.Name</h2>
    }
 }

也可以过滤文档类型以确保只获得所需的类型。 (包文件类型) 添加这样的东西。 .Where("DocumentTypeAlias == \"Package\"")

组合:

.Where("DocumentTypeAlias == \"Package\" && Level == " + (CurrentPage.Level+2))

答案 1 :(得分:1)

我有一个方法,但不是最好的,所以仍然寻找好的答案。我使用了以下内容:

foreach (var item in CurrentPage.Children)
{
    foreach (var package in item.Children())
    {
        <h2>@package.PackageName</h2>

    }

}