2014-09-10 115 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; 

在這裏使用的文件類型別名遍歷你的樹,這比使用的名字更可靠,因爲這些可以改變。這當然可能需要重做一些元素。

希望這會有所幫助!