问候所有 EPiServer 专家。
环境:EPiServer 7。
问题描述:
我有一个具有不同属性的 PageType。其中一个属性是 ContentReference。
[CultureSpecific]
[Display(
Name = "Specific documents",
GroupName = SystemTabNames.Content,
Order = 1)]
public virtual ContentReference SpecificDocument { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我看来,我显示一个链接到不同操作的图标,具体取决于属性 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>
Run Code Online (Sandbox Code Playgroud)
我的问题:
如果 SpecificDocument 属性不为 null,我如何href到ContentReference 属性中的特定内容?
说明:当用户单击该图标时,它会在窗口中打开特定文档 (PDF) 或下载它。
请记住,我是 EPiServer 开发的新手。
问候,克里斯
您可以使用UrlResolver.Current获取内容引用的 URL:
var url = UrlResolver.Current.GetUrl(CurrentPage.SpecificDocument)
Run Code Online (Sandbox Code Playgroud)
有关不同 URL 的一些深入信息:http://world.episerver.com/blogs/Linus-Ekstrom/Dates/2014/2/The- Three-rendering-modes-of-EPiServer/
此外,您可能需要使用ContentReference.IsNullOrEmpty而不是仅对属性进行 null 检查,以确保设置属性。