解决方法
我相信你要找的是MetadataTypeAttribute.这不是MVC特有的,但它是3.5中引入的DataAnnotations命名空间的一部分.它允许您装饰类本身外部的部分类的成员.
例如,如果您有一个名为Customer的生成的部分类类型并希望向其添加属性,则可以在同一名称空间中创建一个新的部分,并使用MetadataType对其进行标记.然后创建具有匹配属性的Metadata类并装饰它们.
/* Generated class */ public partial class Customer { public string Name { get; set; } } /* MetadataType decorated class */ [MetadataType(CustomerMetadata)] public partial class Customer { /* ... */ } /* Metadata type */ public class CustomerMetadata { [required(ErrorMessage = "Name is required")] public string Name { get; set; } }