在您的控制器中,您可以检查请求的UserAgent属性。
HttpContext.Current.Request.UserAgent
完整的代码示例:
private const string IEUserAgent = "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)";
public ActionResult Index()
{
string userAgent = HttpContext.Current.Request.UserAgent;
if (userAgent == IEUserAgent)
{
return View("IE9View");
}
return View();
}
您可能希望将UserAgent字符串封装在一个常量文件中,该文件将在更合适的位置而不是在控制器级别使用。
一种替代方法是在Global.asax中使用DisplayModeProvider
DisplayModeProvider.Instance.Modes.Insert(1, new DefaultDisplayMode("IE9")
{
ContextCondition = (ctx => ctx.GetOverriddenUserAgent()
.IndexOf("MSIE 9", StringComparison.OrdinalIgnoreCase) > 0)
});
然后,您将在应用程序的“查看”部分中创建一个Index.IE9.cshtml文件,其中包含要使用Internet Explorer 9向用户显示的标记。