2014-09-10 141 views
1

我怎样才能得到所有的新闻项目在partialview(剃刀)的儿童(在标准的项目)?我如何获得节点的孩子?

我已经试过:

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

,但我得到,指出我不能做lambda表达式错误,whitout铸造它。 “新闻”是我的网页中的一个节点,我想创建一个列出孩子的宏。我如何以及如何将它投射到?

回答

0

试试这个让一切在主页的孩子的消息的节点:

var newsItems = homePage.Children.Where("Name = @0", "News"); 

然后通过新闻的孩子迭代:

foreach (var newsChild in newsItems) 

你可以跳过,如果你已经是第一步知道你的新闻节点的ID是这样的:

var newsNode = Umbraco.Content(1234); 

这个页面有很多例子: http://our.umbraco.org/documentation/reference/querying/DynamicNode/Collections#

1

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

我建议这种做法:

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

// 2- Get news node 
var news = site.Descendant("News"); 
var newsItems = news.Children; 

在这里使用的文件类型别名遍历你的树,这比使用的名字更可靠,因为这些可以改变。这当然可能需要重做一些元素。

希望这会有所帮助!

相关问题