Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Umbraco 如何获取节点的子节点?_Umbraco_Umbraco7 - Fatal编程技术网

Umbraco 如何获取节点的子节点?

Umbraco 如何获取节点的子节点?,umbraco,umbraco7,Umbraco,Umbraco7,如何在partialview(razor)中获取新闻项目(标准项目中)的所有子项 我试过: @{ var homePage = CurrentPage.AncestorsOrSelf(1).First(); var newsItems = homePage.Children.Where(x => x.GetProperty("Name").Value == "News"); } 但我得到了一个错误,声明我不能执行lambda表达式,而不执行它。“News”是我网页中的一个

如何在partialview(razor)中获取新闻项目(标准项目中)的所有子项

我试过:

@{
    var homePage = CurrentPage.AncestorsOrSelf(1).First();
    var newsItems = homePage.Children.Where(x => x.GetProperty("Name").Value == "News");
}

但我得到了一个错误,声明我不能执行lambda表达式,而不执行它。“News”是我网页中的一个节点,其中包含子节点,我想创建一个宏来列出子节点。我如何以及可以将其转换为什么?

尝试以下操作,以获取主页子级的所有新闻节点:

var newsItems = homePage.Children.Where("Name = @0", "News");
然后反复浏览新闻的子项:

foreach (var newsChild in newsItems)
如果您已经知道新闻节点的ID,可以跳过第一步,如下所示:

var newsNode = Umbraco.Content(1234);
本页有大量示例:

目前,您正在查找名为“新闻”的主页的子项。我想你想再深入一层

我推荐这种方法:

// 1- Get root node
var site = Model.Content.AncestorOrSelf("Site");

// 2- Get news node
var news = site.Descendant("News");
var newsItems = news.Children;
在这里,您可以使用文档类型别名来遍历树,这比使用名称要可靠得多,因为名称可以更改。当然,这可能需要对某些元素进行返工

希望这有帮助