Diese Frage ist spezifisch für ASP.NET aber ich bin sicher, dass einige von Ihnen System-agnostic Javascript profitieren, die in vielen Situationen vorteilhaft ist.
UPDATE: Die Möglichkeit, URL außerhalb der Seite selbst gebildet wird in den Antworten oben beschrieben.
Oder Sie könnten einen oneliner tun wie folgt vor:
new UrlHelper(actionExecutingContext.RequestContext).Action(
"SessionTimeout", "Home",
new {area = string.Empty},
actionExecutingContext.Request.Url!= null?
actionExecutingContext.Request.Url.Scheme : "http"
);
aus dem Filter oder:
new UrlHelper(this.Request.RequestContext).Action(
"Details",
"Journey",
new { area = productType },
this.Request.Url!= null? this.Request.Url.Scheme : "http"
);
jedoch ziemlich oft muss man die URL der aktuellen Seite bekommen, für die Fälle mit Html.Action
und Den Namen und den Controller der Seite, in der du dich befindest, zu setzen, fühlt sich peinlich an. In solchen Fällen bevorzuge ich stattdessen JavaScript. Dies ist besonders gut in Systemen, die halb umgeschrieben werden MVT halb Web-Formulare halb vb-Skript halb Gott weiß was - und um URL der aktuellen Seite zu erhalten, muss man jedes Mal eine andere Methode verwenden.
Eine Möglichkeit ist, JavaScript zu verwenden URL zu erhalten, ist eine andere window.location.href
- einmal document.URL
Siehe auch: http://StackOverflow.com/q/434604 – Andrew