【发布时间】:2016-01-05 12:40:32
【问题描述】:
我正在制作一堆内容框来呈现给主人。它们都包含背景图片、标题和内容,都是可选的。所以如果没有=空的div。 -> 删除。
这一切似乎都很好,我使用 @Umbraco.Field 作为文本,使用 @Umbraco.Media(CurrentPage.myMediaAlias).url 作为背景图片。使用“媒体选择器”作为数据类型。
将标题和内容字段留空没有问题。 但是当最后一个盒子没有定义图片时,问题就开始了。 我得到了:
对象引用未设置为对象的实例。 [没有相关的源代码行]
由于它应该是可选的,所以我宁愿想要一个空回。 媒体选择器属性不是强制性的。我怎样才能让它工作?
@section contentMid2 {
<div class="c-box-wrapper">
<div class="c-box" id="c-box-3" Style="background-image: url(@Umbraco.Media(CurrentPage.box3Bg).Url )" >
<div class="transbox">
<div class="home-head-1"> @Umbraco.Field("mainHeading3") </div>
<div class="content-text1"><p>@Umbraco.Field("mainContent3")</p></div>
</div>
</div>
}
【问题讨论】:
-
在请求
Url之前,您必须检查@Umbraco.Media(CurrentPage.box3Bg)是否为空。尝试在<div>上方的单独变量中执行此操作,并将该变量用于Style属性。 -
这实际上是我第一次尝试它,我再次尝试并尝试使用谷歌搜索更多,并在
<Div>标签中找到“if()”作为更少的代码。但我每次尝试使用@Umbraco.Media(CurrentPage.box3Bg)in 查询时都会收到此错误:以下方法或属性之间的调用不明确:'Umbraco.Web.UmbracoHelper.Media(params int[])' 和'Umbraco.Web.UmbracoHelper.Media(params string[])'
标签: asp.net-mvc-4 razor umbraco