2012-11-22 179 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