MVC - RouteLink和Image

Kei*_*ows 11 asp.net-mvc routes

我想要这个输出:

<a href="\Catalog\Flooring">
    <img src="http://site.com/dot.jpg" width="100px" height="100px" alt="" />
    <span>Some text here</span>
</a>
Run Code Online (Sandbox Code Playgroud)

使用类似于的RouteLink:

<%= Html.RouteLink(myFPV.ProductTypeName, "CatalogType", new { controller = "Catalog", action = "Types", group = myFPV.ProductGroupName, type = myFPV.ProductTypeName })%>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何在我的标签中添加<img><span>(带文本)标签<a>.

合理?

Çağ*_*kin 11

RouteLink方法的第一个参数用于链接文本.但遗憾的是,它会自动编码,因此您无法向其发送<,>字符.(嗯,你可以.但他们会被编码.)

看看这个页面.

路线值自动进行URL编码.例如,字符串"Hello World!"被编码为"Hello%20World!".

渲染图像链接

不幸的是,您无法使用Html.ActionLink()帮助器来呈现图像链接.由于Html.ActionLink()帮助程序HTML会自动对其链接文本进行编码,因此您无法将标记传递给此方法并期望标记呈现为图像.

相反,您需要使用Url.Action()帮助程序来生成正确的链接.以下是如何使用图像生成删除链接:

<a href="<%= Url.Action("Delete") %>">
  <img src="../../Content/Delete.png" alt="Delete" style="border:0px" />
</a>
Run Code Online (Sandbox Code Playgroud)


Fer*_* JS 9

我建议使用Url.RouteUrl.

<a href="@Url.RouteUrl("Default", new { action = "Index", controller = "Department", id = 1 })">
 <img src="http://site.com/dot.jpg" width="100px" height="100px" alt="" />  </a>
Run Code Online (Sandbox Code Playgroud)