我的应用程序是MVC4,它适用于iPhone和Windows Phone,但不适用于三星Galaxy S III,它显示桌面用户界面!我尝试了几个InexOf,例如:
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Mobile")
{
ContextCondition = (context => context.GetOverriddenUserAgent()
.IndexOf("Linux", StringComparison.OrdinalIgnoreCase) >= 0)
});
我也尝试过:
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Mobile")
{
ContextCondition = (context => context.GetOverriddenUserAgent()
.IndexOf("Opera Mobi", StringComparison.OrdinalIgnoreCase) >= 0)
});
我使用我开发的旧版MVC3应用程序检查了三星III浏览器,这里是borwser信息: 用户代理:Mozilla / 5.0(Linux,U; Android 4.0.4 .... 浏览器:Safari 型号SGH-1747M
我很感激你的建议。提前致谢
答案 0 :(得分:1)
以防有人遇到同样的问题。我在MVC4中看到了一个新项目(之前我使用的是MVC4的Beta版本)Install-Package jQuery.Mobile.MVC;它现在有效。问题与三星没有关系,因为我在LG Android上尝试了这个应用程序并遇到了同样的问题。我还在Global文件中添加了以下内容:
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("Linux")
{
ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf
("Linux", StringComparison.OrdinalIgnoreCase) >= 0)
});