2012-11-22 227 views
7

我試圖列出在Sitecore的父頁面上具有設置模板的項目。到目前爲止,我能做到這一點的孩子,但我也希望包括孩子的孩子,即家長下任何東西,如果有選擇的模板,將工作,這是我在c#文件代碼:在sitecore中獲取兒童兒童

lvThing.DataSource = context.Children.Where(x => x.TemplateName == "cool template").ToList<Item>(); 
lvThing.DataBind(); 

回答

13

如果您希望子項下方的項目,則可以使用item.Axes.GetDescendants()方法獲取上下文項目下的所有項目。然後

您的代碼應該是這樣的:

contextItem.Axes.GetDescendants().Where(x => x.TemplateName == "cool template").ToList(); 
+0

您好,感謝的答覆,但得到一個錯誤,使用:lvThing.DataSource = contextItem.Axes.GetDescendants()其中(x => X。 TemplateName ==「cool template」)。ToList (); – David

+0

啊,通過改變上下文來開展工作。感謝您的幫助:-) – David

+0

我會小心使用GetDescendants它可能會非常昂貴。 – Anicho