galaxy s iii web浏览器DisplayModeProvider“MVC4”

时间:2012-10-13 19:34:46

标签: mobile asp.net-mvc-4 samsung-mobile

我的应用程序是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

我很感激你的建议。提前致谢

1 个答案:

答案 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)
           });