¿Cómo obtengo la URL de referencia en una acción ASP.NET MVC? Estoy tratando de redirigir a la página antes de que llamaras a una acción.
¿Cómo obtengo la URL de referencia en una acción ASP.NET MVC? Estoy tratando de redirigir a la página antes de que llamaras a una acción.
Respuestas:
También puede utilizar Request.UrlReferrer
para obtener la URL de referencia si no le gusta acceder al Request.ServerVariables
diccionario directamente.
Request.UrlReferrer
es en realidad el URI, pero desde allí puede obtener todo lo que necesita con respecto a la URL de referencia. (Más sobre URI vs URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Debería hacer.
Puedes usar esto
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Puede pasar la URL de referencia a viewModel, en mi opinión, es mejor enfoque que compartir a través del estado, intente así:
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()