如何在ASP.NET MVC操作中获取引用者URL?

时间:2009-09-24 11:49:52

标签: asp.net-mvc redirect referrer

如何在ASP.NET MVC操作中获取引荐来源网址?我试图在你调用一个动作之前重定向回页面。

4 个答案:

答案 0 :(得分:132)

如果您不想直接访问Request.UrlReferrer字典,也可以使用Request.ServerVariables获取引荐网址。

答案 1 :(得分:20)

Request.ServerVariables["http_referer"]

应该这样做。

答案 2 :(得分:7)

您可以使用此

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath

答案 3 :(得分:3)

要更正使用reffer url,您应该将其传递给viewModel,请尝试:

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