MVC - RouteLink и изображение - PullRequest
11 голосов
/ 03 апреля 2009

Мне бы хотелось, чтобы этот вывод:

<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>.

Имеет смысл?

Ответы [ 3 ]

11 голосов
/ 03 апреля 2009

Первый параметр метода RouteLink предназначен для текста ссылки. Но, к сожалению, он кодируется автоматически, поэтому вы не можете отправлять ему символы <,>. (Ну, вы можете. Но они будут закодированы.)

Взгляните на эту страницу .

Значения маршрутов кодируются автоматически. Например, строка «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>
9 голосов
/ 21 марта 2013

Я предлагаю использовать 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>
1 голос
/ 01 апреля 2014

Есть лучший вариант сделать это. вы должны попробовать что-то вроде

<a href="@Url.RouteUrl("index-lang")">
  <img src="~/images/logo.png" alt="">
 </a>

где "index-lang" - это имя маршрута в таблице сопоставления маршрутов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...