0

プロフィール写真のプレースホルダーがあります。データベースからプロフィール画像を取得したいです(これで問題ありません)<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ページを使用しています。

4

2 に答える 2

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" /> "

img src = "@ Url.Content("〜/ Content / profile-template / img / friend_avatar_default.jpg ")" alt = "crazy" width = "150" height = "150" />

于 2012-06-08T14:03:58.730 に答える
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 を返していると思います。

お役に立てれば。

于 2012-06-08T14:06:07.640 に答える