在我的 BlockData 类型上,我有 EpiServer.Url 类型的属性
public virtual EpiServer.Url Url { get; set; }
从 EditMode 我可以为具体的 PageData 实例设置它,但我不确定如何在只有 ContentReference 的代码中设置它?
提前感谢您的帮助。
编辑:
我发现这样做的一种方法是:
var urlResolver = ServiceLocator.Current.GetInstance<UrlResolver>();
int contentReferenceId = 69;
ContentReference contentRef = new ContentReference(contentReferenceId);
block.Url = urlResolver.GetUrl(contentRef, language.Code);
如果有人可以为我指出一个更好的解决方案,我会很高兴。