如何制作没有文字的html.actionlink,但里面有图片

r.r*_*r.r 8 html asp.net-mvc actionlink

这是简单的HTML:

<%--
<a href="?language=de">
    <img src="/Images/Company/de.png" alt="Webseite auf Deutsch" style="border: 0;" />
</a>
--%>
Run Code Online (Sandbox Code Playgroud)

我想从他们做html.actionlink:

 <%= Html.ActionLink("", "ChangeCulture", "Account", new { lang = "de", returnUrl = this.Request.RawUrl }, new { @style = "background-image: url(/Images/Company/de.png)", @class = "languageLink" }) %>
Run Code Online (Sandbox Code Playgroud)

我希望我的链接没有文字.它不起作用,在第一个参数中为null,不允许.图像是正常的短.我怎么能使用html.actionlink没有文字,但有图像?

Fen*_*ton 11

这是一个解决方案.

<a href="<%= Url.RouteUrl("MyRoute", new { id = Model.Id }) %>">
   <img src="myimage.png" alt="My Image" />.
</a>
Run Code Online (Sandbox Code Playgroud)

从本质上讲,ActionLink用于文本链接,并没有相应的图像,但您可以使用Url.RouteUrl获取链接的地址,并将您喜欢的任何HTML代码放在锚点内(当然W3C允许).


小智 8

这种方式最简单(使用Razor):

<a href="@Url.Action("Action", "Controller", new { lang = "de", returnUrl = this.Request.RawUrl }, new { @style = "background-image: url(/Images/Company/de.png)", @class = "languageLink" })"><img src="myimage.png" alt="My Image" /></a>
Run Code Online (Sandbox Code Playgroud)