我对ASP .NET MVC有点新意,我无法理解对ViewModel的需求,以及它们与常规模型的不同之处。有关该主题的任何好资源?
答案 0 :(得分:3)
它们与视图密切相关。例如,您的模型可能包含许多属性,但您只需要在给定视图上操作它们的子集。在这种情况下,您将创建一个ViewModel来表示您希望在给定视图上使用的属性。因此,对于给定的模型,您可以拥有多个ViewModel,因为此模型可能具有许多表示形式。 ViewModel可能还包含更适合在视图上显示的格式化数据,而Model包含原始数据(例如DateTime格式,货币等)。
每次在视图中编写一行C#/ VB.NET代码时,这意味着这是视图模型和/或html助手的理想选择。