[英]mvc4 actionlink image
我试图在_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>
图像始终相对于当前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;"
}
)
或者如果您决定定义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\" ... />"))
完美的工作
你可以用它
<a href='@Url.Action("action", "Controller")'>
<img src='@Url.Content("~/images/imageName.png")' /></a>
这工作正常,它的工作方式类似于@Html.ActionLink("linkName","action","Controller")
我稍微编辑了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\" />"))
如果您想要它没有默认边框,请将其添加到您的CSS
img {border: 0px;}
我发现当需要高级别的<a>
标签自定义(例如锚内的其他标签)时,最好自己动手。
我使用UrlHelper.GenerateUrl方法生成URL,然后我手动创建<a>
标签并使用生成的URL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.