我想要这个输出:
<a href="\Catalog\Flooring">
<img src="http://site.com/dot.jpg" width="100px" height="100px" alt="" />
<span>Some text here</span>
</a>
使用类似于:
的RouteLink<%= Html.RouteLink(myFPV.ProductTypeName, "CatalogType", new { controller = "Catalog", action = "Types", group = myFPV.ProductGroupName, type = myFPV.ProductTypeName })%>
我无法弄清楚如何在<img>
标记内添加<span>
和<a>
(带文字)标记。
有意义吗?
答案 0 :(得分:11)
RouteLink方法的第一个参数用于链接文本。但遗憾的是,它会自动编码,因此您无法发送&lt;,&gt;它的人物。 (嗯,你可以。但他们会被编码。)
看看this page。
路线值是自动进行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>
答案 1 :(得分: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>
答案 2 :(得分:1)
有一个更好的选择。你应该试试像
这样的东西<a href="@Url.RouteUrl("index-lang")">
<img src="~/images/logo.png" alt="">
</a>
&#34; index-lang&#34;是路由映射表中的路由名称。