wom*_*omp 5 asp.net-mvc codeigniter cross-controller-redirect
ASP.Net MVC控制器有几种将控制转发到另一个控制器或动作的方法.但是,所有这些都导致客户端重定向,具有302和新的浏览器请求.
为什么没有内部"调用另一个控制器的操作"功能,而不涉及客户端?我很确定php CodeIgniter框架也缺少这个功能.
我能提出的最好的理由是,最终它是不必要的,因为你想要调用的任何代码都可以被分解到某个常见的地方,至少在ASP.Net MVC中,操作可能非常昂贵.但是很多人都在问这个问题,看起来这最终会带来一些便利.
所以......很多聪明人设计了这些框架.没有这个必须有一些很好的理由吗?
在 Codeigniter 中,您可以设置自定义路由和内容以将某些 URL 定向到其他控制器/操作,但我认为您的意思是在控制器函数中间跳转到另一个控制器函数?
如果您有任何业务逻辑,特别是如果要重用它,那么它应该进入模型,而不是控制器。您还可以根据某些条件或情况在控制器中指定不同的视图。如果您有不“适合”模型的重复代码,那么它可能最终应该作为静态辅助函数或库类中。
所以,是的,我认为你说得对:
我能想到的最好的理由是,最终这是不必要的,因为您想要调用的任何代码都可以分解到某个常见的地方
这迫使您留在 MVC 模式中。
无论如何,最好让你的控制器保持轻量。
| 归档时间: | 
 | 
| 查看次数: | 3400 次 | 
| 最近记录: |