【问题标题】:How to display a default image in case the source does not exists in MvC View如果 MvC 视图中不存在源,如何显示默认图像
【发布时间】:2015-08-10 21:38:18
【问题描述】:

我在 loginpartial.cshtml 文件中有以下代码
如果 src 不存在,是否有办法显示默认图像?

@if (Request.IsAuthenticated)
{   

    <li><a href="#">Support</a></li>
    <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">



        //in below image tab m Display user Uploaded image ,
        //wants to display default Image if no Image is present

        <img src="/user/RetrievePhoto/@ABC.Web.Session.LoginData.UserToken.UserId" alt="" class="profilePhotoSM" />@ABC.Web.Session.LoginData.UserToken.UserName <span class="caret"></span></a>
        <ul class="dropdown-menu">
            <li>@using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" }))
                {
                @Html.AntiForgeryToken()
                <a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
                }</li>
        </ul>
    </li>


}
else
{

    <li>@Html.ActionLink("Sign Up", "Register", "User", routeValues: null, htmlAttributes: new { id = "registerLink", @class = "navLink" })</li>
    <li>@Html.ActionLink("Login", "Authentication", "Account", routeValues: null, htmlAttributes: new { id = "loginLink", @class = "navLink" })</li>

}

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor


    【解决方案1】:

    将默认图像添加到您的网络服务器,即myDefaultImage.png。 将ImageNamePhoto 属性添加到您的模型,即

    public class AModel
    {
       public string ImageName { get; set; }
       public string Photo { get { return ImageName == null ? "myDefaultImage.png" : ImageName; }}
    }
    

    如果图像存在,请从您的控制器设置ImageName 属性。 Photo 属性中的 get 将处理默认图像,如果未设置。

    然后您可以按如下方式显示 src:

    src="/user/RetrievePhoto/@Model.Photo"
    

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 2018-03-11
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 2015-03-11
      • 2015-08-07
      相关资源
      最近更新 更多