ASP.NET MVCアクションでリファラーURLを取得するにはどうすればよいですか?アクションを呼び出す前にページにリダイレクトしようとしています。
Request.UrlReferrer
辞書に直接アクセスしたくない場合は、Request.ServerVariables
を使用して参照URLも取得できます。
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(_ => _.Referrer);
var referrer = HttpContext.Current.Request.UrlReferrer.AbsoluteUri;
return new MvcHtmlString(str.ToHtmlString().Replace("value=\"\"", String.Format("value=\"{0}\"", referrer)));
}
...
@Html.HiddenForReferrer()