C# mvc4 actionlink映像

C# mvc4 actionlink映像,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我试图在ASP.NET MVC4 Web应用程序的_Layout.cshtml中替换臭名昭著的“your logo here”。对于主页(主视图),以下操作(与显示的图像一样)有效,但在联系人视图上无效(没有图像,但操作有效)。我需要它在开发环境和生产环境中都能工作 < p class="site-title">@Html.ActionLink(" ", "Index", "Home", new { style = "background: url('./Images/log

我试图在ASP.NET MVC4 Web应用程序的_Layout.cshtml中替换臭名昭著的“your logo here”。对于主页(主视图),以下操作(与显示的图像一样)有效,但在联系人视图上无效(没有图像,但操作有效)。我需要它在开发环境和生产环境中都能工作

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

@Html.ActionLink(“,”索引“,”主页“,新建 { style=“background:url('./Images/login_sm.bmp')不在中间偏右重复; 显示:块;高度:84px;宽度:264px;” })


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

如果使用内联CSS,则应使用url帮助程序:

@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;" 
    }
)
或者,如果您决定定义CSS类:

@Html.ActionLink(
    " ", 
    "Index", 
    "Home",  
    null , 
    new { 
        @class = "mylink" 
    }
)
您在
~/content/Site.css
中定义了
.mylink
规则:

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

最好的方法如下

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=\"/assets/img/logo.png\" ... />"))
@Html.Raw(@Html.ActionLink(“[replacetext]”,“Index”,“Home”).ToHtmlString().Replace(“[replacetext]”,“))

我编辑了一点Dilip0165解决方案,效果非常好

@Html.Raw(@Html.ActionLink("[replacetext]", "Index", "Home").ToHtmlString().Replace("[replacetext]", "<img src=\"" + @Url.Content("~/Content/assets/img/logo.png") + "\" alt=\"Link description\" title=\"Link description\" />"))
你可以用这个

<a href='@Url.Action("action", "Controller")'>
<img src='@Url.Content("~/images/imageName.png")' /></a>


这很好,它的工作原理类似于
@Html.ActionLink(“linkName”、“action”、“Controller”)

我发现当需要高水平的
标记定制时(例如锚内的其他标记),最好自己做


我使用UrlHelper.GenerateUrl方法生成URL,然后我手动创建了
标记并使用了生成的URL。

您的意思是它不起作用,图像不出现?它会出现,但单击不会将您发送到任何地方?它似乎没有对齐?后续页面上没有图片。点击仍然有效。我假设它没有找到图像。查看源代码时的html看起来完全相同(正如我所期望的)Thx!我使用了第一种方法。我知道我在做傻事。我用不同的方法尝试了URL.Content,但显然不是正确的方法。将“”作为链接文本传递是一种好的做法吗?它不被认为是黑客攻击吗?是的,但不幸的是,图像被高亮显示。怎么删除这个?@user2609980我没有这个问题。可能是你的css问题。请查收您的回复。这确实是CSS中的一些东西。由于这是一个正常的链接,我的所有链接都突出显示,这也显示在周围的标志图像。我去掉了我的头发,现在看起来很漂亮。谢谢你的解决方案。@user2609980知道你找到了正确的解决方案,感觉很好。太好了;然而,由于这个字符“\”的存在,图像的样式设计有点棘手。但我发现:
<a href='@Url.Action("action", "Controller")'>
<img src='@Url.Content("~/images/imageName.png")' /></a>