我正在开发一个ASP.Net MVC应用程序,该应用程序具有我希望能够为桌面浏览器和移动浏览器格式化的视图。两种格式都使用相同的控制器和操作,但需要不同的视图。
最好的方法是什么?我是否在Action中进行浏览器检测,然后调用相应的视图?视图是否会对浏览器进行检测,然后相应地进行自我渲染?在return View();
和实际处理视图之间是否存在我可以覆盖的内容?
由于
答案 0 :(得分:6)
ScottHa this post about targeting multiple devices with ASP.NET MVC解决了同样的问题。
我建议在视图中或控制器与视图之间的某些东西(ViewEngine ......)
答案 1 :(得分:1)
我会使用自定义属性在返回的模型周围填充适当的视图/主页。我们大量使用这种策略进行Ajax化,不应该难以将概念扩展到移动。
答案 2 :(得分:0)
我会在控制器中检测到浏览器并返回相应的视图。我想你可以覆盖视图引擎,但这看起来真的太过分了。