Мне нужно сделать что-то вроде этого:
<script type="text/javascript">
token_url = "http://example.com/your_token_url";
</script>
Я использую бета-версию MVC, но я не могу понять, как получить абсолютный URL-адрес действия. Я хотел бы сделать что-то вроде этого:
<%= Url.AbsoluteAction("Action","Controller")) %>
Есть ли для этого вспомогательный метод или метод Page?
asp.net-mvc
Майк Комсток
источник
источник
Request.Url.Scheme
чтобы при использовании HTTPS сгенерированный URL-адрес также использовал HTTPS.Html.ActionLink
(любой из методов, которые принимают протокол, например, последние 2 в MVC 4)Расширить UrlHelper
Тогда назови это так
РЕДАКТИРОВАТЬ - РЕШАРПЕР АННОТАЦИИ
Самый одобренный комментарий к принятому ответу:
This answer is the better one, this way Resharper can still validate that the Action and Controller exists.
так вот пример, как вы могли бы получить такое же поведение.Вспомогательная информация:
источник
источник
Используя ответ @Charlino в качестве руководства, я придумал это.
Документация ASP.NET MVC для UrlHelper показывает, что Url.Action будет возвращать полный URL- адрес, если передано имя хоста и протокол. Я создал эти помощники для принудительного предоставления имени хоста и протокола. Многократные перегрузки отражают перегрузки для Url.Action:
источник
Я не уверен, есть ли встроенный способ сделать это, но вы можете свернуть свой собственный метод HtmlHelper.
Что-то вроде следующего
Тогда назови это так
HTHs, Чарльз
источник
Полный ответ с аргументами будет:
и это даст абсолютный URL
источник
Тот же результат, но немного чище (без объединения / форматирования строк):
источник
Может быть, это (?):
источник
источник