加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 为什么ASP.Net MVC(或CodeIgniter)中没有内部Con

发布时间:2020-12-16 03:32:23 所属栏目:asp.Net 来源:网络整理
导读:ASP.Net MVC控制器有几种将控制转发到另一个控制器或动作的方法.但是,所有这些都导致客户端重定向,具有302和新的浏览器请求. 为什么没有内部“调用另一个控制器的操作”功能,而不涉及客户端?我很确定php CodeIgniter框架也缺少这个功能. 我能提出的最好的理
ASP.Net MVC控制器有几种将控制转发到另一个控制器或动作的方法.但是,所有这些都导致客户端重定向,具有302和新的浏览器请求.

为什么没有内部“调用另一个控制器的操作”功能,而不涉及客户端?我很确定php CodeIgniter框架也缺少这个功能.

我能提出的最好的理由是,最终它是不必要的,因为你想要调用的任何代码都可以被分解到某个常见的地方,至少在ASP.Net MVC中,操作可能非常昂贵.但是a lot of people ask about this,它似乎最终将是一种便利.

所以……很多聪明人设计了这些框架.没有这个必须有一些很好的理由吗?

解决方法

在Codeigniter中,您可以设置自定义路由和内容以将某些URL定向到其他控制器/操作,但我认为您的意思是在控制器功能的中间跳转到另一个?

如果您有任何业务逻辑,特别是如果它将被重用,它应该进入模型,而不是控制器.您还可以根据某些条件或某些内容在控制器中指定不同的视图.如果你有重复的代码不适合模型,那么它应该最终可以作为静态辅助函数,或者在库类中.

所以,是的,当你说:我认为你是对的

The best reason that I can come up with is that ultimately it’s unnecessary,since any code you want to call into could be factored out into someplace common

这会迫使您保持在MVC模式中.

无论如何最好保持控制器的轻量级.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读