伙计们,我有建筑问题:
我有几个外观非常相似的项目的视图模型,具有不同的数据注释:
public class VM1 {
[Display(Name="VM1 Field1")]
public string Field1 { get; set; }
[Display(Name="VM1 Field2")]
public string Field2 { get; set; }
}
public class VM2 {
[Display(Name="VM2 Field1")]
public string Field1 { get; set; }
[Display(Name="VM2 Field2")]
public string Field2 { get; set; }
}
public class VM3 {
[Display(Name="VM3 Field1")]
public string Field1 { get; set; }
[Display(Name="VM3 Field2")]
public string Field2 { get; set; }
}
有没有办法让我定义一个抽象类VMBase
,以便 VM1/2/3 继承以及在这种情况下如何分配数据注释?基本上按类来说,它是典型的多态情况,但是数据注释——在这种情况下不知道如何处理?
此外,视图需要如何显示才能显示正确的类?还是为了数据注释的缘故,我必须将整个事物乘以 3 倍(可能列表会增长)?
如果您认为通过流畅的验证可以更轻松地完成 - 请提供示例(视图模型、控制器、视图)
编辑 但我试图坚持使用数据注释:那些用于视图模型,而流利的验证更多地用于域实体。我需要来自开箱即用的数据注释的客户端验证,而不是来自流利的验证。
先感谢您。