这应该是非常简单的事情,但我无法让它工作:我只想在部分视图模板中显示上传到 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>
}
其中 BannerBackgroundImage 是页面的自定义属性。然而,当显示此信息时,@imgUrl
被替换为#
.
我尝试过的其他替代方案是多个媒体选择器图像 https://stackoverflow.com/questions/20521471/how-to-show-umbraco-multiple-media-picker-images-on-page-with-a-macro/22220297#22220297, 如何显示媒体选择器图像 https://stackoverflow.com/questions/21732205/how-can-i-display-a-media-picker-image, 使用 Razor 从媒体获取图像 http://incoders.blogspot.pt/2011/10/get-image-from-media-umbraco-razor.html, and 显示来自媒体选择器的图像 http://our.umbraco.org/projects/website-utilities/social-bookmarking-button/general-discussions/19360-Displaying-an-image-from-Media-Picker-in-a-web-page, 这仅仅是列举的一小部分。
如果有人能帮助我解决我认为是新手的问题,我将非常感激!
我发现这种方法既简单又干净:
@if (CurrentPage.Image != null && !(CurrentPage.Image is Umbraco.Core.Dynamics.DynamicNull))
{
var m = Umbraco.Media(CurrentPage.Image);
<img src="@m.Url" alt="@m.UrlName" />
}
我希望它对其他人有帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)