asp.net-mvc – 在MVC中,什么是ViewModel?

我是否认为它几乎像一个视图所需的所有对象的包装?

例如,假设你有一家在线商店出售音乐和dvds.在您的浏览页面上,您需要显示所有dvds和音乐的列表.因此,您是否将构建一个viewmodel对象,该对象具有包含相册列表和dvds列表的两个属性

从我的理解看来,你拥有所有的模型类.一个专辑/ Dvd类,但简单地传递这些单独不足以为您的View. viewmodel基本上作为您的View需要的所有数据的载体吗?

解决方法

你的理解大多是正确的,但是还不完整.

viewmodel还可以从您的Model携带的数据类型执行到您的View可以方便地使用的数据类型的转换;这甚至可能意味着viewmodel不直接携带模型,而是以更合适的格式携带相同信息的其他容器(可能是子集).

考虑到您可以拥有聚合相册和DVD的库模型 – 这种模型与相应viewmodel之间的区别正是该模型不关心(甚至了解)View,而viewmodel具有明确的目的促进它.

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...