Eu preciso fazer algo assim:
<script type="text/javascript">
token_url = "http://example.com/your_token_url";
</script>
Estou usando a versão beta do MVC, mas não consigo descobrir como obter o URL absoluto de uma ação. Eu gostaria de fazer algo assim:
<%= Url.AbsoluteAction("Action","Controller")) %>
Existe um método auxiliar ou Page para isso?
asp.net-mvc
Mike Comstock
fonte
fonte
Request.Url.Scheme
para que, se você usa HTTPS, o URL gerado também use HTTPS.Html.ActionLink
bem (qualquer um dos métodos que levam um protocolo, o último 2 em MVC 4 por exemplo)Estender o UrlHelper
Então chame assim
EDITAR - ANOTAÇÕES DE RESHARPER
O comentário mais votado sobre a resposta aceita é
This answer is the better one, this way Resharper can still validate that the Action and Controller exists.
Então, aqui está um exemplo de como você pode obter o mesmo comportamento.Informações de suporte:
fonte
fonte
Usando a resposta de @Charlino como guia, eu vim com isso.
A documentação do ASP.NET MVC para UrlHelper mostra que Url.Action retornará uma URL totalmente qualificada se um nome de host e protocolo forem passados. Criei esses auxiliares para forçar o nome de host e o protocolo a serem fornecidos. As várias sobrecargas refletem as sobrecargas de Url.Action:
fonte
Não tenho certeza se existe uma maneira integrada de fazer isso, mas você pode rolar seu próprio método HtmlHelper.
Algo como o seguinte
Então chame assim
Charles HTHs
fonte
A resposta completa com argumentos seria:
e isso produzirá um URL absoluto
fonte
Mesmo resultado, mas um pouco mais limpo (sem concatenação / formatação de string):
fonte
Talvez isto (?):
fonte
fonte