我正在使用MVC 4,我有一个图像,动态渲染图像:
<img id="imgThumbnail" src="@Url.Content(@ControlUtilities.FormatUrl(" ~/GetImage?imageid=" + @Model.ImageID))" />
现在,我想查看,如果@ControlUtilities.FormatUrl("~/GetImage?imageid="+ @Model.ImageID)
返回null或空白,则将其替换为'/img/noimage.gif'
类似的东西:
src= "@Url.Content(@ControlUtilities.FormatUrl("~/GetImage?imageid=" + @Model.ImageID)) || '/img/noimage.gif'"
是否可以在HTML中内联?或者我必须通过jQuery来处理它?</ p>
为什么我要这样做,当API GetImage
返回空白/ null时,输出是一个空图像标记,或者是精确的断开图像显示。替代方案也会有所帮助。
答案 0 :(得分:0)
是否可以在HTML中内联?
是的,你绝对可以进行null
内联检查
src="@(Url.Content(ControlUtilities.FormatUrl("~/GetImage?" + Model.ImageID) ?? "/img/noimage.gif"))
如果您需要检查它是否为空白,那么它将开始变得不可读,所以我建议您将其移动到变量
@{
var imageUrl = ControlUtilities.FormatUrl("~/GetImage?" + Model.ImageID);
if (String.IsNullOrEmpty(imageUrl)) {
imageUrl = "/img/noimage.gif";
}
}
...
<image id="imgThumbnail" src="@Url.Content(imageUrl)" />
答案 1 :(得分:0)
试试这个:
<img id="imgThumbnail" src= "@Url.Content(@ControlUtilities.FormatUrl(("~/GetImage?imageid="
+ @Model.ImageID)??"/img/noimage.gif"))"/>
答案 2 :(得分:0)
@{
string src;
}
<img id="imgThumbnail" src="@(string.IsNullOrEmpty(src = Url.Content(@ControlUtilities.FormatUrl("~/GetImage?imageid=" + Model.ImageID))) ? "'/img/noimage.gif'" : src)" />
如果你只使用'??'运算符,空白'src'可以放在img标签
中