[asp.net-mvc] ASP.NET MVC 작업에서 리퍼러 URL을 얻으려면 어떻게합니까?

ASP.NET MVC 작업에서 리퍼러 URL을 얻으려면 어떻게합니까? 조치를 취하기 전에 페이지로 다시 리디렉션하려고합니다.



답변

사전에 직접 Request.UrlReferrer액세스하는 것을 좋아하지 않는 경우에도 참조 URL을 가져올 수 있습니다 Request.ServerVariables.


답변

Request.ServerVariables["http_referer"]

해야 할 것.


답변

이것을 사용할 수 있습니다

filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath


답변

참조 자 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(hh => hh.Referrer);
    var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
    return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}

@Html.HiddenForReferrer()


답변