0

我在 ASP.NET MVC4 Beta 上遇到了一个非常奇怪的情况,DisplayModes 只是间歇性地在我的手机上工作。我有一个 HTC Desire 的用户代理

Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 

当我安装了 VS2010 SP1 并使用新的 MVC4 应用程序时,我的 Desire 从未被用作移动设备,但 iPhone 和其他几个工作正常,IsMobileDevice 总是错误的。我上传到 Azure,不出所料,我的手机仍未被检测为手机。

一旦我安装了 VS2012,但仍在使用 VS2010,我的 Desire 就开始被当作手机使用。用户代理完全相同,但现在 IsMobileDevice 为 True。但是,当我上传到 Azure 时,它​​仍然没有被检测为移动设备。

纵观这一切,没有错误,只是上述行为。我现在在有多个不同项目的两台机器上遇到了完全相同的问题。在所有情况下,用户代理都被正确检测到,只是 IsMobileDevice 的值发生了变化。

我曾尝试仅使用 bin 可部署程序集中的 MVC4 程序集部署到 Azure,并且我还尝试在包上引导 .net 4.5 安装程序,但这没有任何区别。

我知道我可以覆盖 DisplayMode 来破解修复程序,但是如果我想使用 MVC ViewSwitcher 并且不能真正解决问题,这对我没有帮助。

一些帮助将不胜感激,因为我已经没有想法了。

4

1 回答 1

0

你有一个名为* .mobile.cshtml 的文件吗?如果您希望 MVC 自动为移动浏览器呈现不同的视图,则这是必需的。请尝试按照http://www.windowsazure.com/en-us/develop/net/tutorials/aspnet-mvc-4-mobile-website/上的说明来获取更多信息。

此致,

明旭。

于 2012-06-18T12:17:28.973 回答