UrlHelper.Action: хотел бы создать ссылку, которая заканчивается на «#something» - PullRequest
5 голосов
/ 13 сентября 2010

Я пытаюсь создать ссылку с Url.Action , которая заканчивается # что-то ;Я предполагаю, что в значениях маршрута есть что-то, что делает это правильно, но я не смог найти это с помощью Google.

Пока я пытался Url.Action("action", "controller", new {id="something", Area="area"}).Результирующая ссылка - это ожидаемое действие / действие / контроллер / область, но я не могу добавить в конец что-то.

В отношении URL, я, вероятно, мог бы сказать «1010 *», но это не так.мне кажется особенно приятным;Я ищу лучшее решение.

Ответы [ 2 ]

13 голосов
/ 13 сентября 2010

Нет перегрузки метода Url.Action(), который делает это для вас. Ether, вам нужно будет сделать это так, как вы предлагаете (просто добавив его после вызова 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);
}
0 голосов
/ 16 июля 2011

Вы должны использовать один из методов LinkExtensions.ActionLink. Документация может быть найдена здесь: http://msdn.microsoft.com/en-us/library/system.web.mvc.html.linkextensions.actionlink.aspx

...