Як отримати 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()