C# Mobile\u Layout.Mobile.cshtml和iPad

C# Mobile\u Layout.Mobile.cshtml和iPad,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我为移动设备创建了布局-_layout.mobile.cshtml 在平板电脑上有自己的脚本,它们的样式,所有这些都可以,加载了网站的完整版本(_Layout.cshtml) 在手机上加载移动版本(_Layout.mobile.cshtml) 但iPad(尽管他指的是平板电脑)是移动版 如何修复它?据我所知,您需要告诉DisplayModeProvider,iPad应该获得默认的显示模式(桌面视图) 这可以通过以下代码实现: DisplayModeProvider.Instance.Modes.

我为移动设备创建了布局-_layout.mobile.cshtml 在平板电脑上有自己的脚本,它们的样式,所有这些都可以,加载了网站的完整版本(_Layout.cshtml)

在手机上加载移动版本(_Layout.mobile.cshtml)

但iPad(尽管他指的是平板电脑)是移动版


如何修复它?

据我所知,您需要告诉DisplayModeProvider,iPad应该获得默认的显示模式(桌面视图)

这可以通过以下代码实现:

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode()
            {
                ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0)
            });
代码相当具有解释性,您插入了一个默认模式,用户代理中包含iPad的上下文

请参见此处的详细信息:“特定于浏览器的视图”下

这应该放在Global.asax.cs的Application_Start()方法中