MVC4 DisplayModes不一致

时间:2012-06-16 11:37:10

标签: azure asp.net-mvc-4 visual-studio-2012

我在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,我的欲望开始被用作移动设备。用户代理完全相同,但现在IsMobileDevice为True。但是,当我上传到Azure时,它仍然没有被检测为移动设备。

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

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

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

由于我的想法已用完,我们将非常感谢一些帮助。

1 个答案:

答案 0 :(得分:0)

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

最诚挚的问候,

徐明。