mvc4 actionlink图像

Gin*_*ano 9 c# asp.net-mvc-4

我试图在_Layout.cshtml中替换ASP.NET MVC4 Web应用程序中臭名昭着的"您的徽标".主页面(主页视图)显示以下工作(在图像中显示),但在联系人视图上不显示(没有图像,但操作有效).我需要它在开发环境和生产环境中都能工作.

< p class="site-title">@Html.ActionLink(" ", "Index", "Home", new
  {
  style = "background: url('./Images/login_sm.bmp') no-repeat center right;
          display:block; height:84px; width:264px;"
  })
</ p>
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 30

图像始终相对于当前CSS的位置.

如果您使用的是内联CSS,则应使用url helpers:

@Html.ActionLink(
    " ", 
    "Index", 
    "Home", 
    null , 
    new { 
        style = "background: url('" + Url.Content("~/images/login_sm.bmp") + "') no-repeat center right; display:block; height:84px; width:264px;" 
    }
)
Run Code Online (Sandbox Code Playgroud)

或者如果您决定定义CSS类:

@Html.ActionLink(
    " ", 
    "Index", 
    "Home",  
    null , 
    new { 
        @class = "mylink" 
    }
)
Run Code Online (Sandbox Code Playgroud)

您在哪里定义了.mylink规则~/content/Site.css:

.mylink {
    background: url('../images/login_sm.bmp') no-repeat center right; 
    display: block; 
    height: 84px; 
    width: 264px;
}
Run Code Online (Sandbox Code Playgroud)


Dil*_*165 12

您可以采取以下最佳方式

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=\"/assets/img/logo.png\" ... />"))
Run Code Online (Sandbox Code Playgroud)

完美的工作