Как получить URL-адрес реферера в действии ASP.NET MVC? Я пытаюсь вернуться на страницу до того, как вы вызвали действие.
Как получить URL-адрес реферера в действии ASP.NET MVC? Я пытаюсь вернуться на страницу до того, как вы вызвали действие.
Ответы:
Вы также можете использовать Request.UrlReferrer
для получения URL-адреса ссылки, если вам не нравится Request.ServerVariables
прямой доступ к словарю.
Request.UrlReferrer
на самом деле является URI, но оттуда вы можете получить все, что вам нужно, относительно URL-адреса реферера. (Подробнее о URI и URL: stackoverflow.com/questions/176264/… ).
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()