在Sitecore MVC中的“查看”中获取媒体URL

Gab*_*bar 3 media url asp.net-mvc sitecore

我有一个存储在媒体库中的mp3文件。在项目的媒体字段中引用了它。我可以通过在Webforms或类中执行Sitecore.Resources.Media.MediaManager.GetMediaURL()来获取URL。但是如何在MVC视图中实现呢?当我转储该字段时,它仅呈现一个html标签。我只想提取网址。

另外,是否有类似这样的参考?

谢谢

Mat*_*ser 5

您可以编写扩展方法来获取媒体项URL。这样的事情会起作用(顺便说一句,您应该添加空引用检查):

public static string GetMediaUrl(this Sitecore.Mvc.Helpers.SitecoreHelper sitecoreHelper, string fieldName)
{
    return GetMediaUrl(sitecoreHelper, fieldName, sitecoreHelper.CurrentItem);
}

public static string GetMediaUrl(this Sitecore.Mvc.Helpers.SitecoreHelper sitecoreHelper, string fieldName, Item item)
{
    ImageField imageField = item.Fields[fieldName];
    return Sitecore.Resources.Media.MediaManager.GetMediaUrl(imageField.MediaItem);
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以在cshtml文件中使用:

<a href="@Html.Sitecore().GetMediaUrl("YourMediaField")">Click Here</a>
Run Code Online (Sandbox Code Playgroud)