移动_Layout.Mobile.cshtml和iPad

use*_*122 2 c# asp.net-mvc asp.net-mvc-4

我创建了移动设备的布局 - _Layout.Mobile.cshtml有自己的脚本,他们的样式,一切都还好,在平板电脑上加载了完整版的网站(_Layout.cshtml).

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

iPad(虽然他指的是平板电脑)是装载移动版的

我该怎么解决?

sam*_*lin 6

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

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

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode()
            {
                ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0)
            });
Run Code Online (Sandbox Code Playgroud)

代码是相当明确的,您插入一个默认模式,iPad的上下文在用户代理中.

在此处查看更多信息:"浏览器特定视图"下的http://www.asp.net/mvc/tutorials/mvc-4/aspnet-mvc-4-mobile-features

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