Làm cách nào để lấy URL liên kết giới thiệu trong hành động ASP.NET MVC? Tôi đang cố gắng chuyển hướng trở lại trang trước khi bạn gọi một hành động.
Làm cách nào để lấy URL liên kết giới thiệu trong hành động ASP.NET MVC? Tôi đang cố gắng chuyển hướng trở lại trang trước khi bạn gọi một hành động.
Câu trả lời:
Bạn cũng có thể sử dụng Request.UrlReferrer
để lấy URL giới thiệu nếu bạn không muốn truy cập Request.ServerVariables
trực tiếp vào từ điển.
Request.UrlReferrer
thực sự là URI nhưng từ đó bạn có thể nhận được mọi thứ bạn cần liên quan đến URL liên kết giới thiệu. (Tìm hiểu thêm về URI so với URL: stackoverflow.com/questions/176264/… ).
Request.ServerVariables["http_referer"]
Nên làm.
Bạn có thể sử dụng cái này
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
Bạn có thể chuyển url liên kết giới thiệu đến viewModel, theo tôi thì đó là cách tiếp cận tốt hơn sau đó chia sẻ qua trạng thái, hãy thử như vậy:
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()