【发布时间】:2013-06-26 07:58:17
【问题描述】:
如何从我们拥有的 URL 中检索 Sitecore 媒体项目?
网址是动态网址,例如/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx。
这是在您在富文本字段中添加项目时生成的。
【问题讨论】:
标签: sitecore sitecore-media-library
如何从我们拥有的 URL 中检索 Sitecore 媒体项目?
网址是动态网址,例如/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx。
这是在您在富文本字段中添加项目时生成的。
【问题讨论】:
标签: sitecore sitecore-media-library
您可以使用以下代码:
DynamicLink dynamicLink;
if (!DynamicLink.TryParse("/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx", out dynamicLink))
return;
MediaItem mediaItem = Sitecore.Context.Database.GetItem(dynamicLink.ItemId, dynamicLink.Language ?? Sitecore.Context.Language);
【讨论】:
在富文本字段中添加项目时,您可以使用 FieldRenderer 呈现输出 - Sitecore 将自动创建正确的 URL。这样您甚至不必担心 URL。
FieldRenderer 控件可以这样使用:
<sc:FieldRenderer ID="renderer" runat="server" FieldName="fieldname" />
或者,如果您使用的是 XSLT:
<sc:text field="fieldname" />
在代码隐藏中你可以做类似的事情
FieldRenderer.Render(Sitecore.Context.Item, fieldname);
【讨论】: