我有一个非常奇怪的问题。更糟糕的是它只发生在生产(天蓝色)中,而不是在开发机器中。
我看到我的应用程序使用布局的 .Mobile 版本,但使用视图的桌面(而不是 .mobile)版本。我完全不知道如何解决这个问题..
它正在检测移动版本但它不是......有什么想法吗?
我有一个非常奇怪的问题。更糟糕的是它只发生在生产(天蓝色)中,而不是在开发机器中。
我看到我的应用程序使用布局的 .Mobile 版本,但使用视图的桌面(而不是 .mobile)版本。我完全不知道如何解决这个问题..
它正在检测移动版本但它不是......有什么想法吗?
引擎使用位于此处的文件 -C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers
(或\Framework64\
)
它们在任何一台机器上都可能不同。使用 Request.Browser.IsMobileDevice 找出哪些设备检测到什么。编写自定义显示模式也有帮助吗?
http://weblogs.asp.net/gunnarpeipman/archive/2011/09/18/asp-net-mvc-4-display-modes.aspx
我认为我在下面给出的解决方案就是答案(它工作了一会儿),但一段时间后它仍然切换到错误的视图。
像互联网的其他部分一样,我从 Nuget 安装了 51 Degrees 这运行良好,而且很容易设置
(下面对我不起作用,但也许对你有用) http://www.nuget.org/packages/Microsoft.AspNet.Mvc.FixedDisplayModes
看起来这是一个已知的错误:http ://aspnetwebstack.codeplex.com/workitem/280?PendingVoteId=280
根据上面的 codeplex 链接,请记住确保这一点:
对于自定义已注册视图引擎列表的一小部分项目(例如,在 Global.asax 中),您应该确保您引用的是 Microsoft.Web.Mvc.FixedRazorViewEngine 或 Microsoft.Web.Mvc.FixedWebFormViewEngine,而不是核心运行时二进制文件中的类