如何从我们拥有的网址中检索Sitecore媒体项?
网址是动态网址,例如/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx
。
在富文本字段中添加项目时会生成此项。
答案 0 :(得分:7)
您可以使用以下代码:
DynamicLink dynamicLink;
if (!DynamicLink.TryParse("/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx", out dynamicLink))
return;
MediaItem mediaItem = Sitecore.Context.Database.GetItem(dynamicLink.ItemId, dynamicLink.Language ?? Sitecore.Context.Language);
答案 1 :(得分:3)
在富文本字段中添加项目时,您可以使用FieldRenderer渲染输出 - 然后Sitecore将自动创建正确的URL。这样你甚至不用担心URL。
可以像这样使用FieldRenderer控件:
<sc:FieldRenderer ID="renderer" runat="server" FieldName="fieldname" />
或者如果你正在使用XSLT:
<sc:text field="fieldname" />
在代码隐藏中,您可以执行类似
的操作FieldRenderer.Render(Sitecore.Context.Item, fieldname);