Razor Umbraco-如何在IMG标签的src中显示来自媒体选择器的图像?

Razor Umbraco-如何在IMG标签的src中显示来自媒体选择器的图像?,razor,model-view-controller,umbraco,Razor,Model View Controller,Umbraco,如何获取使用umbraco中的媒体选取器选择的图像的url?我找到了umbraco文档,其中突出显示媒体选取器的返回值是所拾取项目的ID。但这肯定是您用来向模板添加图像的方法吗 我想做 <div class="title" style="background-image:url(@Umbraco.Field("mediaPicker"))"> <h1>...@Umbraco.Field("pageTitle")</p> </div> …@

如何获取使用umbraco中的媒体选取器选择的图像的url?我找到了umbraco文档,其中突出显示媒体选取器的返回值是所拾取项目的ID。但这肯定是您用来向模板添加图像的方法吗

我想做

<div class="title" style="background-image:url(@Umbraco.Field("mediaPicker"))">
   <h1>...@Umbraco.Field("pageTitle")</p>
</div>

…@Umbraco.Field(“页面标题”)

谢谢

根据you have two option,我的建议是使用第一个选项,因为我相信对dynamics的支持将在未来的版本中消失

1.打字
@if(Model.Content.HasValue(“caseStudyImages”))
{
var caseStudyImagesList=Model.Content.GetPropertyValue(“caseStudyImages”).Split(新字符串[]{,“},StringSplitOptions.RemoveEmptyEntries)。选择(int.Parse);
var caseStudyImagesCollection=Umbraco.TypedMedia(caseStudyImagesList)。其中(x=>x!=null);
foreach(变量CaseStudyImagein CaseStudyImages集合)
{      
}                                                               
}
2.动态
@if(CurrentPage.HasValue(“caseStudyImages”))
{
var caseStudyImagesList=CurrentPage.CaseStudyImages.Split(新字符串[]{,“},StringSplitOptions.RemoveEmptyEntries);
var caseStudyImagesCollection=Umbraco.Media(caseStudyImagesList);
foreach(变量CaseStudyImagein CaseStudyImages集合)
{
}
}
id是用于将媒体对象作为
TypedMedia
对象返回的id,从那里您可以访问图像url。

根据“您有两个选项”,我的建议是使用第一个选项,因为我相信在未来的版本中将不再支持dynamics

1.打字
@if(Model.Content.HasValue(“caseStudyImages”))
{
var caseStudyImagesList=Model.Content.GetPropertyValue(“caseStudyImages”).Split(新字符串[]{,“},StringSplitOptions.RemoveEmptyEntries)。选择(int.Parse);
var caseStudyImagesCollection=Umbraco.TypedMedia(caseStudyImagesList)。其中(x=>x!=null);
foreach(变量CaseStudyImagein CaseStudyImages集合)
{      
}                                                               
}
2.动态
@if(CurrentPage.HasValue(“caseStudyImages”))
{
var caseStudyImagesList=CurrentPage.CaseStudyImages.Split(新字符串[]{,“},StringSplitOptions.RemoveEmptyEntries);
var caseStudyImagesCollection=Umbraco.Media(caseStudyImagesList);
foreach(变量CaseStudyImagein CaseStudyImages集合)
{
}
}

id是用于将媒体对象作为
TypedMedia
对象取回的id,从这里您可以访问图像url。

您可以使用
Umbraco.media()
,它与
Umbraco.Content()
一样是动态的


..。@CurrentPage.PageTitle


您可以使用
Umbraco.Media()
,它与
Umbraco.Content()一样是动态的


..。@CurrentPage.PageTitle


显示图像的简便方法:

//Get the ID of the Field
var mediaId = Umbraco.Field("NameOfYourField");
//Get the MediaType to Write the URL
var media   = Umbraco.Media(mediaId.ToString());
//Salve the Path into the Image
var image   = media.Url;

<img src="@image">
//获取字段的ID
var mediaId=Umbraco.Field(“NameOfYourField”);
//获取MediaType以写入URL
var media=Umbraco.media(mediaId.ToString());
//将路径插入图像中
var image=media.Url;

简单易用

显示图像的简便方法:

//Get the ID of the Field
var mediaId = Umbraco.Field("NameOfYourField");
//Get the MediaType to Write the URL
var media   = Umbraco.Media(mediaId.ToString());
//Salve the Path into the Image
var image   = media.Url;

<img src="@image">
//获取字段的ID
var mediaId=Umbraco.Field(“NameOfYourField”);
//获取MediaType以写入URL
var media=Umbraco.media(mediaId.ToString());
//将路径插入图像中
var image=media.Url;

简单易用

谢谢-我会看看我是否能让它工作-你可以使用@Umbraco.NiceUrl获取图像的url吗?与通过媒体选择器获取所选节点的url的方式相同@Umbraco.NiceUrl(Model.Content.GetPropertyValue(“contentPicker”))我从未尝试过这种方法,但是
NiceUrl
只需要一个NodeId,如果您将媒体选择器设置为single item,那么您就可以传递它。在使用之前,请始终检查是否获得了有效的键入图像,为了防止在您尝试使用其任何值之前未设置或拾取图像,只需对此进行一次Tipthank-我将看看是否可以使其工作-是否有其他方法可以使用@Umbraco.NiceUrl获取图像的url,与通过媒体选择器获取所选节点的url的方法相同?-@Umbraco.NiceUrl(Model.Content.GetPropertyValue(“contentPicker”))我从未尝试过这种方法,但是
NiceUrl
只需要一个NodeId,如果您将媒体选择器设置为single item,那么您就可以传递它。在使用之前,请始终检查是否获得了有效的键入图像,为了防止在您尝试使用其任何值之前未设置或拾取它,只需提示
<div class="title" style="background-image:url(@Umbraco.Media(CurrentPage.MediaPicker).Url)">
   <h1>...@CurrentPage.PageTitle</p>
</div>
//Get the ID of the Field
var mediaId = Umbraco.Field("NameOfYourField");
//Get the MediaType to Write the URL
var media   = Umbraco.Media(mediaId.ToString());
//Salve the Path into the Image
var image   = media.Url;

<img src="@image">