【发布时间】:2011-05-21 15:00:56
【问题描述】:
如何使用 Asp.Net MVC 的 asp.net mvc 视图模型和数据注释(验证、显示和数据建模)属性保持 DRY?我已将模型对象以及特定于操作的视图模型传递给视图。我发现这两个方向都存在一些试图保持干燥的问题。
使用模型对象作为您的视图模型:这在简单的情况下工作得很好,并且允许您在每个模型对象上只编写一次数据注释属性。当您有需要多个对象类型的复杂视图时,就会出现问题。生成的视图模型架构是使用视图模型类和实际模型类的混合体。此外,此方法可能会向您的视图公开您不希望的模型属性。
对每个操作使用唯一的视图模型类: 视图模型类仅包含视图特定的属性,并使用数据注释属性进行修饰。根据我的经验,这种方法并没有被证明是非常干燥的,因为数据注释属性往往会在视图模型类中重复。例如,新视图模型和编辑视图模型共享很多(但不是全部)属性和数据注释。
如何使用 asp.net mvc 视图模型和数据注释属性保持 DRY?
【问题讨论】:
-
不幸的是,没有完美的解决方案不会导致验证元数据一些重复。至少我没有找到。
标签: asp.net-mvc