Comment obtenir l'URL de référence dans une action ASP.NET MVC? J'essaie de rediriger vers la page avant d'appeler une action.
Vous pouvez utiliser Request.UrlReferrer
pour obtenir l'URL de référence également si vous n'aimez pas accéder à Request.ServerVariables
dictionnaire directement.
Request.ServerVariables["http_referer"]
Devrait faire.
Vous pouvez utiliser ceci
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Pour corriger l'utilisation de l'URL reffer, vous devez la transmettre à viewModel, essayez donc:
public interface IReferrer
{
String Referrer { get; set; }
}
...
public static MvcHtmlString HiddenForReferrer<TModel>(this HtmlHelper<TModel> htmlHelper) where TModel : IReferrer
{
var str = htmlHelper.HiddenFor(_ => _.Referrer);
var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}
...
@Html.HiddenForReferrer()