2013-02-13 96 views
1

我有一個關於一些代碼,我使用的查詢:一把umbraco節點和inode

List<INode> nodes = Node.GetCurrent().Parent.ChildrenAsList.FindAll(n => n.NodeTypeAlias == "Job") 
foreach (Node job in nodes) 
{ 
    MakeJobSummary(job, ref counter); 
} 

難道這會產生任何問題,因爲我通過INode列表foreaching但使用起來爲Node(從INode繼承)

我需要使用Node類型,因爲它有一些屬性是通過INode傳入的值設置的,我看不到從父對象獲取節點列表的簡單方法。

回答

1

你可以這樣做,以確保INode實際上是一個節點。

List<INode> nodes = Node.GetCurrent().Parent.ChildrenAsList.FindAll(n => n.NodeTypeAlias == "Job") 
foreach (var job in nodes) 
{ 
    if (job is Node) 
     MakeJobSummary((Node) job, ref counter); 
} 
+0

這很好,謝謝! – Pete 2013-02-14 09:10:47