我目前正在使用MVC 5 Web应用程序,我被建议使用一种View per Controller方法,我认为这种方法非常难以维护,而且MVC的优势是没收。
请建议,因为我的应用程序将拥有大约180个用户界面页面,这意味着180个控制器根据建议。
答案 0 :(得分:6)
简短回答:否
这不是ASP.NET MVC
的工作方式。一个控制器应该“分组”属于一个任务/区域的视图的所有操作,如AccountController
处理所有与帐户相关的操作。你如何对它们进行分组取决于你的申请
当然这并不意味着您不能使用多个控制器来处理“帐户相关的东西”,但如果控制器开始变得非常大,我只会开始将操作拆分为多个控制器。而且真的很大,我的意思是几行代码或更高的双位数行动
但即便如此,将一些逻辑移动到单独的辅助类中并将所有操作(可能只调用辅助方法)保存在一个控制器中可能更有意义。
想象一下您的观点的以下文件夹结构:
- 意见/
---- AccountAction1 /
------ AccountAction1.cshtml
---- AccountAction2 /
------ AccountAction2.cshtml
---- AccountAction3 /
------ AccountAction3.cshtml
与以下相比,这似乎有点奇怪:
- 意见/
----帐户/
------ Action1.cshtml
------ Action2.cshtml
------ Action3.cshtml