Episerver LinkItemCollection对用户不可见

时间:2012-03-28 13:47:47

标签: episerver

我们正在使用PageTypeBuilder来定义我们的PageTypes,在一个页面上我们有一个表示Link项目集合的属性,如下所示:

[PageTypeProperty(Type = typeof(PropertyLinkCollection), HelpText = "Test links.", EditCaption = "Test links", SortOrder = 11)]
        public virtual LinkItemCollection PageLinks { get; set; }

我们可以在CMS编辑器模式下使用链接,保存和发布填充此内容而不会出现任何错误。然后我们有一个继承自EPiServer.UserControlBase的用户控件,并使用下面的代码获取LinkItemCollection属性并将其绑定到转发器:

var links = currentPage.Property["PageLinks"].Value as LinkItemCollection;
if (links != null)
{
    linkRepeater.DataSource = links;
    linkRepeater.DataBind();
}

如果我在以CMS编辑器登录时查看页面,此页面工作正常并且链接参数已正确填充,但是如果我以普通用户身份查看页面而未登录链接变量始终为null(尽管我正在调试我可以看到currentPage.Property [“PageLinks”]存在,类型是LinkCollection,它只是Value为null

我需要在这里配置一些特定页面类型的权限吗?

1 个答案:

答案 0 :(得分:1)

问题很可能是外部访问者无法访问LinkItemCollection中的某个页面。尝试以外部访问者身份访问集合中的链接,并从外部视图中删除任何实际锁定的链接。