asp.net-mvc – asp.net MVC 3中视图模型的范围
我有
read online使用“厨房水槽”模型是不好的做法:
然而,吉米·博加德随后解释这是如何好的,这让我有点质疑.让我的模型只包含一个客户列表是非常容易的,我甚至可以使用我的POCO. 那么现在我可以为网站上的每个页面创建自定义的小视图模型片段?使用Customer属性的每个页面都会获得一个,但当然无法共享,因为某些信息是无关的,例如,如果一个页面使用的是Age而不是Name.两个新的迷你视图模型类对吗? 这是非常耗时的,似乎它会导致一百万个小型自定义视图模型 – 有人可以详细说明这种方法的效用以及为什么更简单的方法是坏的? 解决方法
View模型类不仅可以用于传递值,还可以定义数据类型(数据注释),验证规则和关系,而不是模型中使用的数据类型.我现在想到的一些优点:
>更改用户密码时有不同的验证规则,更改他的基本数据或他的订阅设置.有可能很复杂,在一个模型类中定义所有这些规则.它看起来使用不同的视图模型时更好更清洁.>使用视图模型还可以为您提供性能优势.如果你要显示用户列表,可以使用id和name定义视图模型仅使用索引从数据库中检索它.如果你找回了整个对象并将其传递给视图,您从中传输更多数据数据库比你需要的.>您可以为视图模型定义显示和编辑器模板,并使用html帮助程序在不同页面上重复使用它们.当您为模型POCO定义模板时,情况看起来更糟. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET c#获取屏幕宽度(以像素为单位)
- asp.net – 获取Gridview的Selected行
- asp.net – 偶尔获取SqlException:超时过期
- 为什么我应该或不应该将数据集,数据表等作为会话变量存储在
- asp.net-mvc-3 – 无法加载文件或程序集’Microsoft.Practi
- ASP.NET 5中的设计时T4模板(VS 2015)
- asp.net-mvc-3 – System.Web.Mvc.HtmlHelper’不包含’Act
- asp.net-mvc – 如何从ActionFilter访问ModelState?
- asp.net-mvc-3 – 在远程部署MVC3时获取“CS0103:当前上下
- Web.Config的配置