使用Sitefinity 4 Fluent API获取页面URL

Avi*_*sra 4 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;
Run Code Online (Sandbox Code Playgroud)

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

任何帮助将不胜感激.

Avi*_*sra 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();
Run Code Online (Sandbox Code Playgroud)

谢谢

  • 对于有兴趣使用此实现的任何人,我已在此处发布了所有控件:http://www.avisra.com/blog/2011/05/22/sitefinity-control-designer-fields/ (2认同)