asp.net-mvc-3 – 默认模型绑定器没有绑定到字段的原因是什么?
|
我正在使用ASP.NET MVC3,我想知道默认的模型绑定器绑定到公共属性,但不绑定到公共字段. 通常我只是用属性定义模型类,但有时我使用一些包含一些字段的预定义类.每次我必须调试并记住模型绑定器只是不喜欢字段. 问题:背后的原因是什么? 解决方法
虽然我无法回答你关于默认模型绑定器仅适用于属性的确切原因的问题(我的猜测是它以这种方式尊重更好的封装并避免修改对象的内部状态,这是字段所代表的)我可以说你是什么调用预定义类通常应该是视图模型.您应始终在控制器操作中使用视图模型.这些视图模型是专门定义的类,以满足给定视图的要求. 所以回到主要观点:字段应该只在给定的类中修改.不应该直接从外面访问它们.它们代表并保持着班级的内部状态.另一方面,属性应该是暴露给外部世界的.想象一下,在属性getter / setter中你有一些自定义逻辑.通过直接修改字段,此自定义逻辑将被破坏,并可能使对象进入不一致状态. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 如何使用下拉列表的数据注释?
- asp.net-mvc – 如何使用ASP.NET Web API的Ninject?
- asp.net – 每个会话的NH请求 – “会话已关闭
- asp.net – Mono apache2 =服务暂时不可用(503)
- asp.net – 从Google财经,雅虎金融或交易所获取股票报价
- dropdownlist事件不显示在属性窗口asp.net Visual Studio 2
- asp.net – 如何获得大型LinkedIn图像共享格式
- 如何在asp.net按钮回发之前运行javascript函数
- asp.net-mvc – HttpResponse.RemoveOutputCacheItem不工作
- asp.net-mvc – 从ASP.NET MVC应用程序写入EventLog时的安全
- asp.net-mvc-3 – 如何从部分视图将JavaScript渲
- .net – HttpHandler在IIS 7中不起作用
- asp.net – .net 4.6框架是在位升级,那么.net fr
- asp.net – Signalr中哪个更好的WebSocket或Long
- asp-classic – 在ASP Classic应用程序中获取根目
- asp.net-mvc-3 – CSS3 @ font-face休息Razor解析
- asp.net-mvc-3 – MVC3强制验证隐藏字段
- asp.net-mvc – Asp.net MVC查看测试?
- ASP.Net MVC 3控制器操作和打开新窗口
- asp.net-web-api – MVC Web API不能与Autofac集
