Использование HTML-тегов внутри linkText из Html.ActionLink - PullRequest
17 голосов
/ 08 февраля 2011

Можно ли использовать теги HTML в тексте ссылки Html.ActionLink? Например, если бы я хотел выделить часть текста ссылки, я бы попробовал что-то похожее на это:

<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>

но это просто выводит

Some <b>bold</b> text

Я знаю, что мог бы сделать это, используя тег привязки и задав URL-адрес с помощью Url.Action, но я просто хотел узнать, возможно ли это.

Ответы [ 4 ]

31 голосов
/ 08 февраля 2011

Вспомогательный HTML-код Html.ActionLink кодирует текст ссылки, что предотвращает встраивание HTML-кода в текст ссылки.

По этой же причине вы не можете использовать Html.ActionLink и передавать тег, чтобы сделать изображение гиперссылкой.

Для базового оформления ссылки я бы рекомендовал использовать одну из перегрузок Html.ActionLink, чтобы указать стиль CSS с помощью синтаксиса анонимного объекта, например ...

@Html.ActionLink("Please Edit Me", "Edit", null, new { style="font-weight:bold;" })

К сожалению, это относится к полному тексту гиперссылки, когда то, что вам нужно, это просто слово Edit, которое будет выделено жирным шрифтом. В таком случае я бы сделал это ...

<a href="@Url.Action("Edit")">Please <b>Edit</b> Me</a>

... или это ...

<a href="@Url.Action("Edit")">Please <span style="font-weight:bold;">Edit</span> Me</a>
7 голосов
/ 08 февраля 2011

Нет; это невозможно.
Вам нужно вручную написать тег <a>.

1 голос
/ 19 августа 2016

Это работает для меня:

@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))

По существу используйте ActionLink для создания html с заполнителем для того, что вы хотите заменить ('XXX'), затем преобразуйте его в HTML-строку, замените заполнитель вашей разметкой, визуализируйте строку как HTML.Raw.

0 голосов
/ 08 февраля 2011

Это невозможно, но вы можете создать HtmlHelper для этого, см. здесь или использовать Url.Action вместо того, что я бы порекомендовал вам.

...