URLHelper.action: Хотел бы создать ссылку, которая заканчивается «#»
-
02-10-2019 - |
Вопрос
Я пытаюсь создать ссылку с URL.Акция, что заканчивается с #что-нибудь; Я предполагаю, что в целях маршрута есть что-то правильно, но я не мог найти его с Google.
Пока что я пытался Url.Action("action", "controller", new {id="something", Area="area"})
. Отказ Результирующая ссылка - ожидаемая / действие / контроллер / область, но я не могу включить # что-то в конце.
URL-мудрый, я мог бы сойти с поговоркой <a href="<%= Url.Action(..)
%>#something">
Но это не поражает меня как особенно приятно; Я ищу лучшее решение.
Решение
Нет перегрузки Url.Action()
Метод, который делает это для вас. Эфир вам придется сделать это так, как вы предлагаете (просто добавляя его после звонка Url.Action()
) Или создайте свой собственный метод расширения.
Ваш метод расширения может выглядеть что-то подобное:
public static MvcHtmlString Action(this UrlHelper urlHelper, string action, string controller, string hash)
{
return string.Format("{0}#{1}", urlHelper.Action(action, controller), hash);
}
Другие советы
Вы должны использовать один из методов Linkextensions.actionLink. Документация можно найти здесь:http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.contlink.aspx.