在Umbraco 7中显示媒体库中的图像

Inf*_*gic 24 umbraco umbraco7

这应该是令人尴尬的简单,但我不能让它工作:我只想在部分视图模板中显示上传到Umbraco媒体库(Umbraco 7.1.1)的图像.代码是

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{   
    var imgNode = CurrentPage.BannerBackgroundImage;
    var imgUrl = umbraco.library.NiceUrl(imgNode);
    <div id="banner-wrapper" style="background: url('@imgUrl') center center no-repeat;">
        <!-- some irrelevant content -->
    </div>
}
Run Code Online (Sandbox Code Playgroud)

其中BannerBackgroundImage是页面的自定义属性.但是,当显示时,@imgUrl将替换为#.

我尝试过的其他替代方案是多个Media Picker图像,如何显示Media Picker图像,使用Razor从媒体获取图像,以及从Media Picker显示图像,仅举几例.

如果有人可以帮我解决我认为的新手问题,我真的很感激!

Jes*_*lon 35

我发现这种方式简单干净:

@if (CurrentPage.Image != null && !(CurrentPage.Image is Umbraco.Core.Dynamics.DynamicNull))
{
    var m = Umbraco.Media(CurrentPage.Image);

    <img src="@m.Url" alt="@m.UrlName" />
}
Run Code Online (Sandbox Code Playgroud)

我希望它能帮助别人


Cra*_*ole 14

谢谢耶稣Mogollon,

我已经崩溃了:

<img src="@Umbraco.Media(CurrentPage.headerBackgroundImage).Url" alt="">
Run Code Online (Sandbox Code Playgroud)

我已将文件设置为强制文件,因此希望我不需要if语句部分.