令人讨厌的是,Episerver 中的 MediaData 类没有任何基本属性,如源 URL、替代文本等。我正在尝试实现一个类以从 MediaData 继承并为某种类型的媒体资产提供特定属性(本文档中的 PDF例子)。
我尝试手动设置属性值并覆盖 SetDefaultValues 事件,但无济于事。虽然,根据我用于“SrcUrl”的类型,我确实看到了一个文本框或一个 URL 选择器,但是它是空白的,并且永远不会填充上传的 PDF 的 URL。
[ContentType(
DisplayName = "PDF File",
GUID = "xxxxxxx-xxxx-xxxxxx-xxxx-xxxxxxxxxxx")]
[MediaDescriptor(ExtensionString = "pdf")]
public class PdfFile : MediaData
{
[UIHint(UIHint.MediaFile)]
[Display(Name = "PDF URL",
Description = "Link to view or reference PDF",
GroupName = SystemTabNames.Content,
Order = 10)]
public virtual string SrcUrl
{
get { return UrlResolver.Current.GetUrl(this.ContentLink); }
set { value = UrlResolver.Current.GetUrl(this.ContentLink); }
}
// Sets the default property values
public override void SetDefaultValues(ContentType contentType)
{
base.SetDefaultValues(contentType);
this.SrcUrl = UrlResolver.Current.GetUrl(this.ContentLink) ?? "Default";
}
}
****免责声明:我是 Episerver CMS 的新手,可能会遗漏一些简单得愚蠢的东西(如果合适的话,可以感到羞耻)。*