ASP.NET MVC: как включить <span>в ссылку из Html.ActionLink? - PullRequest
18 голосов
/ 10 октября 2009

Мне нужен текст ссылки, завернутый в <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.

Ответы [ 5 ]

21 голосов
/ 10 октября 2009

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

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

<a href="<%= Url.Action("Edit", 
                        New With {.id = "bar"}) %>">
 <span>Edit Group</span>
</a>
11 голосов
/ 10 октября 2009

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

9 голосов
/ 10 октября 2010

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

Вот пост в блоге , который я собрал на эту тему.

4 голосов
/ 05 марта 2012

Вот простой пример helperExtension, который работал для меня:

http://forums.asp.net/p/1702210/4518688.aspx/1?Re+Quick+question+about+Ajax+ActionLink+and+span

3 голосов
/ 29 мая 2015

Что по этому поводу:

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

@Html.Raw(url);

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

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