在最近的一个项目中 - 我遇到了意想不到的障碍。
具有简单公共字段(注意不是属性)的类似乎不想与
ASP.net MVC 3.0 模型绑定器。
这是设计使然吗?
除了将字段更改为属性之外 - 这里还有其他选项吗?
update
使用简单字段(而不是属性)的原因是因为我正在使用 MVC 和 Script Sharp 项目之间的共享库。 Script Sharp 支持属性 - 但视图中的 javascript 变得一团糟(使用 Knockout.js)
因此,尽管我很喜欢(即仅使用属性),但我在 dto 类中使用公共字段。
我想避免对同一类有多个定义。叹
这是设计使然吗?
是的,只有具有公共 getter/setter 的属性才适用于默认模型绑定器。
除了将字段更改为属性之外 - 这里还有其他选项吗?
这就是您应该做的,因为无论如何您都应该使用视图模型。视图模型是专门为视图设计的。因此将字段更改为属性是正确的方法。现在,如果您不遵循良好实践并尝试使用域模型作为操作的输入/输出,那么您将不得不编写一个与字段一起使用的自定义模型绑定器。但这将是很多工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)