如何通过asp.net-mvc使用强类型对象实现控制器与视图的彻底分离?
- 内容介绍
- 文章标签
- 相关推荐
本文共计426个文字,预计阅读时间需要2分钟。
我遇到一个关于保持控制器和视图分离的问题。在我看来,控制器应仅将模型传递给视图,视图决定如何展示模型。这样,控制器和模型可以保持独立,可独立开发。但是,我在网上看到很多教程,都是傻的。
这不会引入两个问题吗?第一个是视图现在有点耦合到控制器,因为它必须知道控制器在ViewData / TempData中设置的字符串的名称.第二个是这些是松散类型的,这意味着没有Intellisense.如果我正在开发控制器,我不能告诉另一个在视图上工作的开发人员只使用Intellisense作为模型,我必须给他字符串的名称,如果我更改字符串名称,我还必须在视图中更改它.
我想我最终要问的是,这是对的吗?或者我不明白什么?
查看数据是在视图和控制器之间传递信息的一种方法,但正如你所说,没有智慧,它增加了耦合.相反,您应该考虑使用ViewModel.有关使用ViewModel的方式以及ViewDate与ViewModel的优缺点,请参阅 Scott Gu NerdDinner example(免费提供).我希望它会有所帮助.
本文共计426个文字,预计阅读时间需要2分钟。
我遇到一个关于保持控制器和视图分离的问题。在我看来,控制器应仅将模型传递给视图,视图决定如何展示模型。这样,控制器和模型可以保持独立,可独立开发。但是,我在网上看到很多教程,都是傻的。
这不会引入两个问题吗?第一个是视图现在有点耦合到控制器,因为它必须知道控制器在ViewData / TempData中设置的字符串的名称.第二个是这些是松散类型的,这意味着没有Intellisense.如果我正在开发控制器,我不能告诉另一个在视图上工作的开发人员只使用Intellisense作为模型,我必须给他字符串的名称,如果我更改字符串名称,我还必须在视图中更改它.
我想我最终要问的是,这是对的吗?或者我不明白什么?
查看数据是在视图和控制器之间传递信息的一种方法,但正如你所说,没有智慧,它增加了耦合.相反,您应该考虑使用ViewModel.有关使用ViewModel的方式以及ViewDate与ViewModel的优缺点,请参阅 Scott Gu NerdDinner example(免费提供).我希望它会有所帮助.

