是否可以覆盖对:
的调用return View()
要将字符串“mobile_”附加到视图文件的名称,换句话说,不要使用“mobile_index.aspx”调用视图“index.aspx”。
在其他地方我想在一个之前的动作触发事件中我将检查它是否是一个移动应用程序,设置一个标志。因此,如果设置了标志,它应该将“mobile_”附加到视图名称。
我希望在控制器级别完成此操作,而不必为每个操作执行此操作。
答案 0 :(得分:2)
答案 1 :(得分:1)
链接的重复问题有许多用于实现自动移动设备检测的选项; Scott Hanselman的MVC3是特定的,所以我从那里开始。
但是,也可以实现您的确切解决方案。创建自己的基本控制器类并覆盖View()方法,以便在调用基本视图之前执行所需操作。然后从中派生所有站点控制器。
MVC3的源代码是在我的MS上发布的,所以你应该能够看到View View()用来确定视图名称的确切内容,并将其“修复”为mobile_whatever。