How do I get the referrer URL in an ASP.NET MVC action?

喜夏-厌秋 提交于 2019-11-26 04:48:34

问题


How do I get the referrer URL in an ASP.NET MVC action? I am trying to redirect back to the page before you called an action.


回答1:


You can use Request.UrlReferrer to get the referring URL as well if you don't like accessing the Request.ServerVariables dictionary directly.




回答2:


Request.ServerVariables["http_referer"]

Should do.




回答3:


You can use this

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath



回答4:


To correct use reffer url you should pass it to viewModel, try so:

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()


来源:https://stackoverflow.com/questions/1471188/how-do-i-get-the-referrer-url-in-an-asp-net-mvc-action

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!