如何在ASP.NET MVC操作中获取引荐来源网址?我正在尝试重定向回页面,然后再调用操作。
Answers:
Request.UrlReferrer
如果您不喜欢Request.ServerVariables
直接访问字典,则也可以使用获取引荐URL 。
Request.UrlReferrer
实际上是URI,但是从那里您可以获取有关引荐来源网址的所有信息。(有关URI和URL的更多信息:stackoverflow.com/questions/176264/…)。
Request.ServerVariables["http_referer"]
应该做。
你可以用这个
filterContext.RequestContext.HttpContext.Request.UrlReferrer.AbsolutePath
您可以将引荐来源网址传递给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()