MVC - RouteLink и изображение
Мне нужен этот вывод:
<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>
.
Имеют смысл?
Ответы
Ответ 1
Первым параметром метода RouteLink является текст ссылки. Но, к сожалению, он автоматически кодируется, поэтому вы не можете отправить символы <, > . (Ну, вы можете, но они будут закодированы.)
Посмотрите эту страницу.
Значения маршрута автоматически кодируются URL. Например, строка "Hello World!" является закодирован в "Hello %20World!".
Отображение ссылок на изображение
К сожалению, вы не можете использовать Html.ActionLink() для рендеринга ссылка на изображение. Поскольку HTML-код html.ActionLink() его текст ссылки автоматически, вы не может передать тег этому метод и ожидаем, что тег будет отображаться как изображение.
Вместо этого вам нужно использовать Url.Action() для генерации правильная ссылка. Вот как вы можете создать ссылку удаления с изображением:
<a href="<%= Url.Action("Delete") %>">
<img src="../../Content/Delete.png" alt="Delete" style="border:0px" />
</a>
Ответ 2
Я предлагаю использовать 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>
Ответ 3
Есть лучший вариант для этого. вы должны попробовать что-то вроде
<a href="@Url.RouteUrl("index-lang")">
<img src="~/images/logo.png" alt="">
</a>
где "index-lang" - это имя маршрута в таблице сопоставления маршрутов.