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

asp.net-mvc – 使用强类型对象保持控制器和视图分离

发布时间:2020-12-16 09:30:47 所属栏目:asp.Net 来源:网络整理
导读:我有一个关于保持控制器和视图分开的问题.在我看来,控制器应该只将模型传递给视图,视图决定如何显示模型.这样,控制器和模型保持独立,可以独立开发.但是,我在网上看到很多教程,甚至在Pro ASP.NET MVC Framework一书中,我看到很多使用ViewData [“string”]或T
我有一个关于保持控制器和视图分开的问题.在我看来,控制器应该只将模型传递给视图,视图决定如何显示模型.这样,控制器和模型保持独立,可以独立开发.但是,我在网上看到很多教程,甚至在Pro ASP.NET MVC Framework一书中,我看到很多使用ViewData [“string”]或TempData [“string”]的例子.

这不会引入两个问题吗?第一个是视图现在有点耦合到控制器,因为它必须知道控制器在ViewData / TempData中设置的字符串的名称.第二个是这些是松散类型的,这意味着没有Intellisense.如果我正在开发控制器,我不能告诉另一个在视图上工作的开发人员只使用Intellisense作为模型,我必须给他字符串的名称,如果我更改字符串名称,我还必须在视图中更改它.

我想我最终要问的是,这是对的吗?或者我不明白什么?

解决方法

查看数据是在视图和控制器之间传递信息的一种方法,但正如你所说,没有智慧,它增加了耦合.相反,您应该考虑使用ViewModel.有关使用ViewModel的方式以及ViewDate与ViewModel的优缺点,请参阅 Scott Gu NerdDinner example(免费提供).

我希望它会有所帮助.

(编辑:李大同)

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

    推荐文章
      热点阅读