2015-10-06 3 views
0

Приветствуем всех гуру EPiServer.EPiServer - href к «Контент» свойства ContentReference?

Окружающая среда: EPiServer 7.

Описание проблемы:

У меня есть PageType с различными свойствами. Одним из свойств является ContentReference.

[CultureSpecific] 
[Display(
    Name = "Specific documents", 
    GroupName = SystemTabNames.Content, 
    Order = 1)] 
public virtual ContentReference SpecificDocument { get; set; } 

На мой взгляд, я показываю значок, который я ссылки на различные действия, в зависимости от того, является ли свойство SpecificDocument пуст или нет. Свойство ContentReference должно содержать файл, такой как PDF.

@model IPageViewModel<SpacePage> 

<div class="row"> 

    @if (Model.CurrentPage.SpecificDocument != null) 
    { 
     <a class="image" href="#"> </a>         
    } 
    else 
    { 
     <a class="icon" href="some action if the property is empty"></a> 
    } 
</div> 

Мой вопрос:

Если SpecificDocument свойство не равно нулю, как я могу HREF к конкретному Содержание в собственность ContentReference?

Уточнение: Когда пользователь нажимает на значок, он либо открывает SpecificDocument (PDF) в окне, либо загружает его.

Имейте в виду, что я новичок в разработке EPiServer.

С уважением, Chris

ответ

3

Вы можете использовать UrlResolver.Current, чтобы получить URL для ссылки на контент:

var url = UrlResolver.Current.GetUrl(CurrentPage.SpecificDocument) 

Некоторые углубленные информация о различных URL-адресов доступны: http://world.episerver.com/blogs/Linus-Ekstrom/Dates/2014/2/The-three-rendering-modes-of-EPiServer/

Кроме того, вы можете использовать ContentReference.IsNullOrEmpty вместо того, чтобы просто игнорировать свойство, re свойство установлено.

+1

Спасибо, Тед! Именно то, что я искал. Будет читать в блоге, который вы опубликовали. /Chris – ChrisRun