Muszę zrobić coś takiego:
<script type="text/javascript">
token_url = "http://example.com/your_token_url";
</script>
Korzystam z wersji beta MVC, ale nie mogę dowiedzieć się, jak uzyskać bezwzględny adres URL akcji. Chciałbym zrobić coś takiego:
<%= Url.AbsoluteAction("Action","Controller")) %>
Czy istnieje do tego pomocnik lub metoda strony?
asp.net-mvc
Mike Comstock
źródło
źródło
Request.Url.Scheme
tak, że jeśli używasz HTTPS url generowany będzie również korzystać z protokołu HTTPS.Html.ActionLink
również dla (jednej z metod wykorzystujących protokół, na przykład ostatnich 2 w MVC 4)Rozszerz UrlHelper
Nazwij to tak
EDYCJA - REZERWACJE NIŻSZE
Najbardziej pozytywny komentarz do zaakceptowanej odpowiedzi brzmi:
This answer is the better one, this way Resharper can still validate that the Action and Controller exists.
Oto przykład, w jaki sposób można uzyskać takie samo zachowanie.Informacje dodatkowe:
źródło
źródło
Używając odpowiedzi @Charlino jako przewodnika, wymyśliłem to.
Dokumentacja ASP.NET MVC dla UrlHelper pokazuje, że Url.Action zwróci w pełni kwalifikowany adres URL, jeśli nazwa hosta i protokół zostaną przekazane. Utworzyłem te pomocniki, aby wymusić podanie nazwy hosta i protokołu. Wielokrotne przeciążenia odzwierciedlają przeciążenia Url.Action:
źródło
Nie jestem pewien, czy istnieje wbudowany sposób, aby to zrobić, ale możesz rzucić własną metodę HtmlHelper.
Coś takiego jak poniżej
Nazwij to tak
HTH, Charles
źródło
Pełna odpowiedź z argumentami brzmiałaby:
i to da absolutny adres URL
źródło
Ten sam wynik, ale trochę czystszy (bez łączenia / formatowania ciągów):
źródło
Może to (?):
źródło
źródło