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

ASP.NET MVC: как включить <span> в ссылку из Html.ActionLink?

Мне нужен текст ссылки, завернутый в <span>, как в:

<a href="/foo.html"><span>Edit Group</span></a>

Могу ли я сделать это с помощью Html.ActionLink? Это не работает:

<%=Html.ActionLink("<span>Edit Group</span>", "Edit", New With {.id = "bar"})%>

Просто HTML кодирует < и > как &lt; и &gt;.

Есть ли простое решение, или я должен строить ссылки вручную с помощью Url.Action?

Это используется для вкладок jQuery-UI. Табличные метки необходимо обернуть в <span>, чтобы получить анимацию, когда загружается содержимое AJAX.

4b9b3361

Ответ 1

Вам нужно сделать это с помощью Url.Action, там нет способа с Html.ActionLink, насколько я знаю.

Ответ 2

Вы можете использовать вспомогательный метод Url.Action в качестве обходного пути (в случае, если другие ответы не соответствуют вашим потребностям).

Например, в вашем представлении может быть указано следующее:

<a href="<%= Url.Action("Edit", 
                        New With {.id = "bar"}) %>">
 <span>Edit Group</span>
</a>

Ответ 3

Вы также можете перевернуть свой собственный метод расширения HtmlHelper, я действительно предпочитаю этот метод, так как вы можете управлять размещением идентификаторов, классов и других атрибутов, таких как заголовок.

Вот сообщение , которое я собрал на эту тему.

Ответ 5

Как насчет этого:

@{
   var link = Html.ActionLink("{0}", "Edit", New {id = "bar"}).ToString();
   var url = string.Format(link, "<span>Edit Group</span>");
}

@Html.Raw(url);

//NICE HACK: рекомендуется использовать предыдущий совет и написать помощника, чтобы обернуть это.