EPiServer 7 GetChildren用于特定页面。并列出该页面下的所有内容

时间:2013-09-11 09:38:30

标签: c# episerver

我遇到了EPiServer 7试图将儿童列入页面类型的问题。

我想要的是获取当前页面的页面引用。我尝试使用PageReference listRoot = CurrentPage但它不起作用。

我的代码如下所示:

    private IEnumerable<PageData> getChildren(EducationPage CurrentPage)
    {
        IEnumerable<PageData> pages = new List<PageData>(); 
        PageReference listRoot = CurrentPage;

        pages = contentLoader.GetChildren<PageData>(listRoot).OfType<PageData>();

        return pages;
    }

2 个答案:

答案 0 :(得分:3)

我相信你需要CurrentPage.PageLink属性:

PageReference listRoot = CurrentPage.PageLink;

答案 1 :(得分:0)

private IEnumerable getChildren(EducationPage CurrentPage)

为自己的CurrentPage命名是不明智的,因为许多EPi类暴露了该属性(除非你真的想要覆盖它)。

pages = contentLoader.GetChildren<PageData>(listRoot).OfType<PageData>();

你不需要OfType-part,正如Andreas所说,listRoot应该是一个PageReference。