Necesito hacer algo como esto:
<script type="text/javascript">
token_url = "http://example.com/your_token_url";
</script>
Estoy usando la versión Beta de MVC, pero no puedo entender cómo obtener la URL absoluta de una acción. Me gustaría hacer algo como esto:
<%= Url.AbsoluteAction("Action","Controller")) %>
¿Hay un método auxiliar o de página para esto?
asp.net-mvc
Mike Comstock
fuente
fuente
Request.Url.Scheme
lo que si usa HTTPS, la URL generada también usará HTTPS.Html.ActionLink
(cualquiera de los métodos que toman un protocolo, los 2 últimos en MVC 4, por ejemplo)Extienda el UrlHelper
Entonces llámalo así
EDITAR - ANOTACIONES DE RESHARPER
El comentario más votado sobre la respuesta aceptada es
This answer is the better one, this way Resharper can still validate that the Action and Controller exists.
Entonces, aquí hay un ejemplo de cómo podría obtener el mismo comportamiento.Información de apoyo:
fuente
fuente
Usando la respuesta de @Charlino como guía, se me ocurrió esto.
La documentación ASP.NET MVC para UrlHelper muestra que Url.Action devolverá una Url totalmente calificada si se pasa un nombre de host y un protocolo. Creé estos ayudantes para forzar el nombre de host y el protocolo que se proporcionarán. Las múltiples sobrecargas reflejan las sobrecargas de Url.Action:
fuente
No estoy seguro de si hay una forma integrada de hacerlo, pero podría implementar su propio método HtmlHelper.
Algo como lo siguiente
Entonces llámalo así
HTHs, Charles
fuente
La respuesta completa con argumentos sería:
y eso producirá una url absoluta
fuente
Mismo resultado pero un poco más limpio (sin concatenación / formateo de cadenas):
fuente
Tal vez esto (?):
fuente
fuente