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

时间:2016-06-21 10:07:36

标签: razor model-view-controller umbraco

如何在umbraco中使用媒体选择器获取图像的网址 - 我找到了umbraco文档,其中突出显示媒体选择器的返回值是所选项目的ID。但是,这肯定会用于将图像添加到模板中吗?

我想做...

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

谢谢

3 个答案:

答案 0 :(得分:4)

根据Umbraco Documentation你有两个选择,我的建议是选择第一个,因为我相信在未来版本中对动态的支持将会消失。

1。输入

@if (Model.Content.HasValue("caseStudyImages"))
{
    var caseStudyImagesList = Model.Content.GetPropertyValue<string>("caseStudyImages").Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse);
    var caseStudyImagesCollection = Umbraco.TypedMedia(caseStudyImagesList).Where(x => x != null);

    foreach (var caseStudyImage in caseStudyImagesCollection)
    {      
        <img src="@caseStudyImage.Url" style="width:300px;height:300px" />      
    }                                                               
}

2。动态

@if (CurrentPage.HasValue("caseStudyImages"))
{
    var caseStudyImagesList = CurrentPage.CaseStudyImages.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
    var caseStudyImagesCollection = Umbraco.Media(caseStudyImagesList);

    foreach (var caseStudyImage in caseStudyImagesCollection)
    {
        <img src="@caseStudyImage.Url" style="width:300px;height:300px" />
    }
}

id是用于将媒体对象作为TypedMedia对象返回的内容,从那里您可以访问图像URL。

答案 1 :(得分:2)

您可以使用动态if (rect.contains((int) ev.getX(), (int) ev.getY())) { this.requestDisallowInterceptTouchEvent(true); } ,就像Umbraco.Media()

一样
Umbraco.Content()

答案 2 :(得分:1)

显示图片的简便方法:

//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">

简单易行。