Comment obtenir l'URL de référence dans une action ASP.NET MVC? J'essaie de rediriger vers la page avant que vous n'appeliez une action.
Comment obtenir l'URL de référence dans une action ASP.NET MVC? J'essaie de rediriger vers la page avant que vous n'appeliez une action.
Réponses:
Vous pouvez également utiliser Request.UrlReferrer
pour obtenir l'URL de référence si vous n'aimez pas accéder Request.ServerVariables
directement au dictionnaire.
Request.UrlReferrer
est en fait l'URI, mais à partir de là, vous pouvez obtenir tout ce dont vous avez besoin concernant l'URL de référence. (En savoir plus sur l'URI et l'URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Devrait faire.
Vous pouvez utiliser ceci
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Vous pouvez passer l'URL de référence à viewModel, à mon avis, c'est une meilleure approche que de partager via l'état, 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(hh => hh.Referrer);
var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}
...
@Html.HiddenForReferrer()