Come ottengo l'URL del referrer in un'azione ASP.NET MVC? Sto cercando di reindirizzare di nuovo alla pagina prima che tu richiamassi un'azione.
Come ottengo l'URL del referrer in un'azione ASP.NET MVC? Sto cercando di reindirizzare di nuovo alla pagina prima che tu richiamassi un'azione.
Risposte:
Puoi utilizzare anche Request.UrlReferrer
per ottenere l'URL di riferimento se non ti piace accedere Request.ServerVariables
direttamente al dizionario.
Request.UrlReferrer
è in realtà l'URI, ma da lì puoi ottenere tutto ciò di cui hai bisogno per quanto riguarda l'URL del referrer. (Ulteriori informazioni su URI e URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Dovresti ... dovrebbe.
Puoi usarlo
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Puoi passare l'URL del referrer a viewModel, secondo me è meglio avvicinarsi alla condivisione tramite lo stato, prova così:
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()