Wie erhalte ich die Referrer-URL in einer ASP.NET MVC-Aktion? Ich versuche, zur Seite zurückzukehren, bevor Sie eine Aktion aufgerufen haben.
Wie erhalte ich die Referrer-URL in einer ASP.NET MVC-Aktion? Ich versuche, zur Seite zurückzukehren, bevor Sie eine Aktion aufgerufen haben.
Antworten:
Sie können auch Request.UrlReferrer
die verweisende URL abrufen, wenn Sie nicht Request.ServerVariables
direkt auf das Wörterbuch zugreifen möchten.
Request.UrlReferrer
ist eigentlich die URI, aber von dort können Sie alles bekommen, was Sie bezüglich der Referrer-URL benötigen. (Weitere Informationen zu URI und URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Sollte tun.
Sie können dies verwenden
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Sie können die Referrer-URL an viewModel übergeben. Meiner Meinung nach ist dies ein besserer Ansatz als das Teilen über den Status. Versuchen Sie Folgendes:
public interface IReferrer
{
String Referrer { get; set; }
}
...
public static MvcHtmlString HiddenForReferrer<TModel>(this HtmlHelper<TModel> htmlHelper) where TModel : IReferrer
{
var str = htmlHelper.HiddenFor(hh => hh.Referrer);
var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}
...
@Html.HiddenForReferrer()