Ответ 1
Вам нужно сделать это с помощью Url.Action
, там нет способа с 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 кодирует <
и >
как <
и >
.
Есть ли простое решение, или я должен строить ссылки вручную с помощью Url.Action?
Это используется для вкладок jQuery-UI. Табличные метки необходимо обернуть в <span>
, чтобы получить анимацию, когда загружается содержимое AJAX.
Вам нужно сделать это с помощью Url.Action
, там нет способа с Html.ActionLink
, насколько я знаю.
Вы можете использовать вспомогательный метод Url.Action в качестве обходного пути (в случае, если другие ответы не соответствуют вашим потребностям).
Например, в вашем представлении может быть указано следующее:
<a href="<%= Url.Action("Edit",
New With {.id = "bar"}) %>">
<span>Edit Group</span>
</a>
Вы также можете перевернуть свой собственный метод расширения HtmlHelper, я действительно предпочитаю этот метод, так как вы можете управлять размещением идентификаторов, классов и других атрибутов, таких как заголовок.
Вот сообщение , которое я собрал на эту тему.
Вот простой пример helperExtension, который работал у меня:
http://forums.asp.net/p/1702210/4518688.aspx/1?Re+Quick+question+about+Ajax+ActionLink+and+span
Как насчет этого:
@{
var link = Html.ActionLink("{0}", "Edit", New {id = "bar"}).ToString();
var url = string.Format(link, "<span>Edit Group</span>");
}
@Html.Raw(url);
//NICE HACK: рекомендуется использовать предыдущий совет и написать помощника, чтобы обернуть это.