加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 默认模型绑定器没有绑定到字段的原因是什么?

发布时间:2020-12-15 23:58:59 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC3,我想知道默认的模型绑定器绑定到公共属性,但不绑定到公共字段. 通常我只是用属性定义模型类,但有时我使用一些包含一些字段的预定义类.每次我必须调试并记住模型绑定器只是不喜欢字段. 问题:背后的原因是什么? 解决方法 but sometim
我正在使用ASP.NET MVC3,我想知道默认的模型绑定器绑定到公共属性,但不绑定到公共字段.

通常我只是用属性定义模型类,但有时我使用一些包含一些字段的预定义类.每次我必须调试并记住模型绑定器只是不喜欢字段.

问题:背后的原因是什么?

解决方法

but sometimes i use some predefined classes which contains some fields

虽然我无法回答你关于默认模型绑定器仅适用于属性的确切原因的问题(我的猜测是它以这种方式尊重更好的封装并避免修改对象的内部状态,这是字段所代表的)我可以说你是什么调用预定义类通常应该是视图模型.您应始终在控制器操作中使用视图模型.这些视图模型是专门定义的类,以满足给定视图的要求.

所以回到主要观点:字段应该只在给定的类中修改.不应该直接从外面访问它们.它们代表并保持着班级的内部状态.另一方面,属性应该是暴露给外部世界的.想象一下,在属性getter / setter中你有一些自定义逻辑.通过直接修改字段,此自定义逻辑将被破坏,并可能使对象进入不一致状态.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读