我有一张个人资料照片的占位符。我想让它从数据库中获取个人资料图片(这可以正常工作)<img src="@Url.Action("Thumbnail", "Photo", new { id = Model.Mebrief.myGuid, size = "small" })" alt="@Model.UserName" width="150" height="150"/>
。
问题:
如果没有个人资料图片,则应该在此处获取默认的占位符图片:
<img src="@Url.Content("~/Content/profile-template/img/friend_avatar_default.jpg")" alt="crazy" width="150" height="150"/>
所有这些都应该显示在下面的div中:
<div id="profile"> </div>
注意:我使用的是 .cshtml razer 页面。
答案 0 :(得分:0)
下面的不是有效的剃刀语法,只是一个想法 - 使用三元运算符
if true ? new image : default image
模型!= null
<强>吗
img src =“@ Url.Action(”Thumbnail“,”Photo“,new {id = Model.Mebrief.myGuid,size =”small“})”alt =“@ Model.UserName”width =“150”height = “150”/&gt;“中
:
img src =“@ Url.Content(”〜/ Content / profile-template / img / friend_avatar_default.jpg“)”alt =“crazy”width =“150”height =“150”/&gt;
答案 1 :(得分:0)
您可以在控制器中尝试这样的事情。
public ActionResult Photo(int photoId)
{
MyPhoto photo = null;
try
{
MyPhoto = db.GetMyPhotoById(photoId);
return new FileStreamResult(new MemoryStream(photo.Image), photo.ImageMimeType);
}
catch (Exception ex)
{
//use the default image
return new FilePathResult(Url.Content("~/Content/profile-template/img/friend_avatar_default.jpg"), "image/jpg");
}
}
看看你在控制器中做了什么会很有帮助,但我猜你从数据库中返回的字节返回一个FileStreamResult。
希望这有帮助。