Ich muss so etwas tun:
<script type="text/javascript">
token_url = "http://example.com/your_token_url";
</script>
Ich verwende die Beta-Version von MVC, kann aber nicht herausfinden, wie ich die absolute URL einer Aktion erhalte. Ich möchte so etwas machen:
<%= Url.AbsoluteAction("Action","Controller")) %>
Gibt es dafür einen Helfer oder eine Page-Methode?
asp.net-mvc
Mike Comstock
quelle
quelle
Request.Url.Scheme
so dass , wenn Sie HTTPS verwenden die URL generiert wird auch HTTPS verwenden.Html.ActionLink
(alle Methoden, die ein Protokoll verwenden, die letzten 2 in MVC 4 zum Beispiel)Erweitern Sie den UrlHelper
Dann nenne es so
BEARBEITEN - RESHARPER-ANMERKUNGEN
Der am besten bewertete Kommentar zu der akzeptierten Antwort lautet:
This answer is the better one, this way Resharper can still validate that the Action and Controller exists.
Hier ist ein Beispiel, wie Sie das gleiche Verhalten erzielen können.Unterstützende Informationen:
quelle
quelle
Ich habe die Antwort von @Charlino als Leitfaden verwendet.
Die ASP.NET MVC-Dokumentation für UrlHelper zeigt, dass Url.Action eine vollständig qualifizierte URL zurückgibt, wenn ein Hostname und ein Protokoll übergeben werden. Ich habe diese Hilfsprogramme erstellt , um die Bereitstellung des Hostnamens und des Protokolls zu erzwingen. Die mehrfachen Überladungen spiegeln die Überladungen für Url.Action wider:
quelle
Ich bin nicht sicher, ob es eine eingebaute Methode gibt, aber Sie könnten Ihre eigene HtmlHelper-Methode rollen.
So etwas wie das Folgende
Dann nenne es so
HTHs, Charles
quelle
Vollständige Antwort mit Argumenten wäre:
und das wird eine absolute URL erzeugen
quelle
Gleiches Ergebnis, aber etwas sauberer (keine Verkettung / Formatierung von Zeichenfolgen):
quelle
Vielleicht das (?):
quelle
quelle