Variables umbraco剃须刀-检查字段是否存在

Variables umbraco剃须刀-检查字段是否存在,variables,razor,umbraco,undefined,Variables,Razor,Umbraco,Undefined,我有下面的代码,但是如果我没有图像,我会得到一个错误(它是一个媒体选择器) @{ 动态图像=新的umbraco.MacroEngines.DynamicMedia(@Model.whereMap); } 我尝试了所有明显的东西来检查空值,但没有乐趣 谢谢查看以下剃须刀方法: @Model.HasProperty(string propertyAlias) @Model.HasValue(string propertyAlias) @Model.IsNull(字符串属性别名) 请参阅:在U

我有下面的代码,但是如果我没有图像,我会得到一个错误(它是一个媒体选择器)


@{
动态图像=新的umbraco.MacroEngines.DynamicMedia(@Model.whereMap);
}
我尝试了所有明显的东西来检查空值,但没有乐趣


谢谢

查看以下剃须刀方法:

  • @Model.HasProperty(string propertyAlias)
  • @Model.HasValue(string propertyAlias)
  • @Model.IsNull(字符串属性别名)

请参阅:在Umbraco 6 MVC中,您可以使用

键入:

@{
    if(Model.Content.HasValue("mainImage")){
        var mediaItem = Umbraco.TypedMedia(Model.Content.GetPropertyValue("mainImage")); 
        <img src="@mediaItem.GetPropertyValue("umbracoFile")" alt="@mediaItem.GetPropertyValue("Name")"/>    
    }   
}
@{
if(Model.Content.HasValue(“mainImage”)){
var mediaItem=Umbraco.TypedMedia(Model.Content.GetPropertyValue(“mainImage”);
}   
}
动态:

@{      
    if (CurrentPage.HasValue("mainImage")){                                         
        var dynamicMediaItem = Umbraco.Media(CurrentPage.mainImage);
        <img src="@dynamicMediaItem.umbracoFile" alt="@dynamicMediaItem.Name"/>
    }
}
@{
如果(CurrentPage.HasValue(“mainImage”){
var dynamicMediaItem=Umbraco.Media(CurrentPage.mainImage);
}
}

尝试以下代码

@if(!String.IsNullOrEmpty(@Model.whereMap))
{
 <img class="where-map" src="@image.umbracoFile" width="150" height="250"/> 
}
@if(!String.IsNullOrEmpty(@Model.whereMap))
{
}
试试看


错误是什么?您尝试过的“明显的东西”是什么?如果(Model.whereMap==null)jsut基本宏没有加载error,因为它是一个用int填充的选择器,这不是意味着@Model.whereMap不会为null,但实际上是“0”?可能检查“image”是否为null,或者whereMap>0,或者在try…catch中换行。
CurrentPage.HasProperty("mainImage")