Asp.net mvc 在MVC 5中使用Internet Explorer时重定向到错误页面

Asp.net mvc 在MVC 5中使用Internet Explorer时重定向到错误页面,asp.net-mvc,internet-explorer,asp.net-mvc-5,Asp.net Mvc,Internet Explorer,Asp.net Mvc 5,我正在寻找一种方法,将IE用户重定向到一个特殊页面,如果他们被告知将浏览器升级到Firefox或Chrome 我目前的最佳想法是使用以下工具查找用户浏览器: Request.UserAgent.contains("msie") 在Global.asax的应用程序中,使用以下命令请求状态并重定向用户: Response.Redirect("~/Shared/UpgradeBrowser"); 不幸的是,这不起作用,并导致重定向循环。 还有其他想法吗 谢谢。我通常会创建简单的BaseContro

我正在寻找一种方法,将IE用户重定向到一个特殊页面,如果他们被告知将浏览器升级到Firefox或Chrome

我目前的最佳想法是使用以下工具查找用户浏览器:

Request.UserAgent.contains("msie")
在Global.asax的应用程序中,使用以下命令请求状态并重定向用户:

Response.Redirect("~/Shared/UpgradeBrowser");
不幸的是,这不起作用,并导致重定向循环。 还有其他想法吗


谢谢。

我通常会创建简单的BaseController来扩展控制器,并让除ErrorController之外的所有其他控制器都从BaseController扩展

之后,您可以覆盖OnAuthorization方法,如下所示

protected override void OnAuthorization(AuthorizationContext filterContext)
{
     if (userAgent.Contains("MSIE"))
         filterContext.Result = base.RedirectToAction("Upgrade", "Error")

     base.OnAuthorization(filterContext);
}

这样做有什么特别的原因吗?除了“IE”非常模糊(版本8到11都在积极使用)之外,你还试图通过口述用户的浏览器使用情况来解决什么问题?您将如何处理“Project Spartan”/Edge,它将具有不同的用户代理?为了便于实施,我们目前不支持任何低于10的IE版本。事实上,要求用户升级他们的浏览器是很常见的。那么,您希望用户使用Netscape Navigator而不是IE9来浏览您的站点吗?