如何从媒体网址检索Sitecore媒体项目?

时间:2013-06-26 07:58:17

标签: sitecore sitecore-media-library

如何从我们拥有的网址中检索Sitecore媒体项?

网址是动态网址,例如/~/media/14BDED00E4D64DFD8F74019AED4D74EB.ashx

在富文本字段中添加项目时会生成此项。

2 个答案:

答案 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);