使用Sitefinity 4 Fluent API获取页面URL

时间:2011-05-21 14:51:37

标签: sitefinity sitefinity-4

好的,这似乎是一件非常简单的事情。但我正在尝试使用Sitefinity 4 Fluent API查询页面并填充HyperLink的Text / NavigationUrl属性。文本填充得很好 - 但是很难从页面获取Url。

        PageNode page = App.WorkWith().Page(PageId).Get();
        PageLink.Text = page.Title;
        PageLink.NavigateUrl = page.Urls.Where<PageUrlData>(pU => pU.RedirectToDefault == false).FirstOrDefault<PageUrlData>().Url;

第一行和第二行正常工作(PageLink.Text显示页面标题)。在第三行,我得到一个“对象引用未设置为对象的实例”。错误... FYI PageId是对页面的Guid引用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:8)

发现了这个问题。 PageNode需要“Telerik.Sitefinity.Pages.Model”作为参考。我有,但后来发现你还需要包含“Telerik.Sitefinity.Modules.Pages”。

这为我的腰带添加了一种新方法,我在下面使用过(getFullUrl):

    PageNode page = App.WorkWith().Page(PageId).Get();
    PageLink.Text = page.Title;
    PageLink.NavigateUrl = page.GetFullUrl();

由于