Ответ 1
Нет; это невозможно.
Вам нужно вручную записать тег <a>
.
Можно ли использовать теги HTML в linkText из Html.ActionLink? Например, если бы я захотел смело выделить текст ссылки, я бы попробовал нечто похожее на это:
<%= Html.ActionLink("Some <b>bold</b> text", "Index")%>
но это просто выводит
Some <b>bold</b> text
Я знаю, что могу сделать это, используя тэг anchor и установив URL с Url.Action, но я просто хотел узнать, возможно ли это.
Нет; это невозможно.
Вам нужно вручную записать тег <a>
.
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>
Это невозможно, но вы можете создать HtmlHelper
для этого, см. здесь или использовать Url.Action
вместо того, что я вам порекомендую.
Это работает для меня:
@Html.Raw(@Html.ActionLink("XXX", "Index", new { }, new { @class = "FormBtn" }).ToHtmlString().Replace("XXX","<u>Back to List</u>"))
По существу используйте ActionLink для создания html с помощью заполнителя для того, что вы хотите заменить ( "XXX" ), а затем преобразуйте его в HTML-строку, замените местозаполнитель своей разметкой, визуализируете строку как HTML.Raw.