91

如何在 ASP.NET MVC 操作中获取引荐来源网址?在您调用操作之前,我正在尝试重定向回页面。

4

4 回答 4

152

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

于 2009-09-24T16:29:08.553 回答
20
Request.ServerVariables["http_referer"]

应该做。

于 2009-09-24T11:50:54.923 回答
9

你可以用这个

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
于 2011-04-08T17:07:51.867 回答
4

您可以将引荐来源网址传递给 viewModel,在我看来,这比通过状态共享更好,请尝试:

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()
于 2015-12-23T07:35:57.673 回答