Как получить URL-адрес реферера в действии ASP.NET MVC? Я пытаюсь перенаправить обратно на страницу, прежде чем вы вызвали действие.
Как получить URL-адрес реферера в действии ASP.NET MVC?
Ответ 1
Вы можете использовать Request.UrlReferrer
, чтобы получить ссылочный URL-адрес, если вам не нравится напрямую обращаться к словарю Request.ServerVariables
.
Ответ 2
Request.ServerVariables["http_referer"]
Должен делать.
Ответ 3
Вы можете использовать этот
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Ответ 4
Чтобы исправить 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()