asp.net-mvc – ASP.NET MVC术语让我沮丧 – 为什么’ViewModel’?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC术语让我沮丧 – 为什么’ViewModel’?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一个ASP.NET MVC新手,但之前使用过很多模型 – 视图 – 控制器框架.

recently came across将您的特定视图需要的数据(实际上,它被分配给ViewData)收集到一个名为(NameOfView)viewmodel的新类的约定.

收集这些数据,使其与View / Controller交互提供的功能相关联,这使我成为一个辅助结构,甚至是闭包机制(在’封装一组变量’的意义上).

那么为什么它被称为’viewmodel’,因为它既不是视图也不是模型?

有没有其他人觉得这个名字令人困惑?

编辑:只是将属性放到View上有什么问题,以便Controller可以填充它们(如在其他MVC框架中)?

解决方法

该模型是数据的视图不可知表示.视图模型是数据的视图特定表示:它是可能从给定视点出现的模型.

考虑一个由原始数据点组成的模型;然后,直方图视图可能具有视图模型,该视图模型由一组桶和从该数据中提取的总数组成.

从逻辑上讲,它是模型的子集或转换 – 它可以使用视图特定功能按需生成,并且模型作为其唯一输入.

关于视图与属性包或自定义对象的属性……我确信有人对此有强烈的感受,但我个人并不认为有很大的区别.您正在生成模型的视图特定表示并以某种方式传递它;确切的机制似乎并不那么重要.

猜你在找的asp.Net相关文章