Как мне получить URL-адрес реферера в an ASP.NET действие MVC?


Как мне получить URL-адрес реферера в ASP.NET действие MVC? Я пытаюсь перенаправить на страницу, прежде чем вы назвали действие.

4 74

4 ответа:

можно использовать Request.UrlReferrer чтобы получить ссылочный URL, а если вам не нравится доступ к Request.ServerVariables словарь напрямую.

Request.ServerVariables["http_referer"]

должны сделать.

вы можете использовать этот

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath

чтобы исправить url-адрес reffer, вы должны передать его в 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()