【发布时间】:2013-08-29 21:29:57
【问题描述】:
最近我使用 MVC4 .mobile 视图添加了该网站的移动版本。我从 _Layout.mobile.cshtml 开始以与桌面版非常相似的方式构建网站,该文件指向了专门为移动网站设计的正确脚本和 css。
发布网站后,我检查了一切是否正常,正如它的设计方式一样。但很快我就被告知该网站已损坏。在检查移动站点时,我注意到 _Layout.mobile.cshtml 已加载,但不是从 Home 控制器发送的 Index.mobile.cshtml,而是返回的是为桌面设计的标准 Index.cshtml。桌面索引文件也是使用移动 css 渲染的,这导致整个移动网站看起来非常混乱。附带说明一下,该网站的桌面版本没有发生任何变化。
重新发布解决了这个问题,但我也注意到有时它会恢复为显示正确的视图,即使在它坏了之后也没有重新发布。
我开始研究这个问题,并偶然发现了关于显示模式不起作用的讨论,例如: ASP.NET MVC 4 Mobile Display Modes Stop Working
使用已弃用的 NuGet 解决方案:http://www.nuget.org/packages/Microsoft.AspNet.Mvc.FixedDisplayModes
我认为既然这个讨论是从一年前开始讨论的早期版本,它应该由最近的 MVC4 更新来修复。我当前的版本是 4.0.20710.0,所以我在执行任何其他操作之前使用 NuGet 更新到 4.0.30506。
这并没有解决问题,但不仅如此,在检查时我注意到参考 System.Web.MVC 仍然指向 4.0.20710.0 版本的 dll 文件。
我担心添加标记为已弃用的不必要修复,并希望 MVC 更新能够解决此问题。有什么建议吗?
【问题讨论】:
-
我正在评估在我们的新项目中使用显示模式的过程。 Andrew 的建议是否解决了您的问题?
-
我刚刚更新到最新的 MVC 4 版本,它在不需要 nugget 包的情况下解决了问题。
-
谢谢,我做了一个示例 MVC4 项目。我觉得很好。只是想和你一起检查..
标签: asp.net-mvc-4