Подтвердить что ты не робот

Использование HTML-тегов внутри linkText из Html.ActionLink

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

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

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

Some <b>bold</b> text

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

4b9b3361

Ответ 1

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

Ответ 2

HTML-код 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>

Ответ 3

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

Ответ 4

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

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

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