2012-10-13 90 views
0

我的應用程序是MVC4,它可以很好的與iPhone和Windows Phone一起使用,但並沒有與三星Galaxy S III一起使用,它顯示了桌面用戶界面!我試了InexOf,例如:galaxy s iii網頁瀏覽器DisplayModeProvider「MVC4」

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

我檢查了三星III瀏覽器,使用我開發了一箇舊MVC3應用,這裏有borwser信息: 用戶代理:Mozilla的/ 5.0(Linux操作系統,U;安卓4.0.4 .... 瀏覽器:Safari瀏覽器 型號SGH-1747M

我會感激你的建議在此先感謝

回答

1

以防萬一有人有同樣的問題。我盯着MVC4中的一個新項目(我之前使用過Beta版的MVC4)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) 
      });