Мы используем PageTypeBuilder для определения наших типов страниц, на одной странице у нас есть свойство, которое представляет коллекцию элементов 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, эта страница работает нормально, и параметр ссылок заполняется правильно, однако, если я просматриваю страницу как обычный пользователь и не вхожу в систему, переменная ссылок всегда равна нулю (хотя, когда я отладка Я вижу, что currentPage.Property["PageLinks"] присутствует, и тип LinkCollection, просто значение равно null
Есть ли что-то, что мне нужно настроить здесь, разрешения для определенного типа страницы?