c# - 我可以将 MVC 2 DataAnnotation 属性添加到现有属性吗?

标签 c# validation asp.net-mvc-2 data-annotations generated-code

我正在使用生成的类作为模型,我希望将 DataAnnotation 属性添加到它的一些属性中。由于它是生成的代码,我不想直接添加注释。还有其他方法可以将它们附加到属性吗?

我考虑过让模型成为一个接口(interface),并使用分部类让生成的类订阅它。有没有更简单的解决方案,假设它甚至可以工作?

最佳答案

是的。您必须创建与原始模型具有相同属性的元数据类,并使用 MetadataType 属性将其连接到您的模型:

[MetadataType(typeof(MyModelMetadata))]
public partial class OriginalMyModel
{
}

public class MyModelMetadata
{
    [Required]
    public string MyProperty;  

    // ...
}

在示例中,OriginalModel 是您正确的模型类,而 MyModelMetadata 是仅用于注释属性的类。 MyModelMetadata 应该具有与您的模型相同的属性。

关于c# - 我可以将 MVC 2 DataAnnotation 属性添加到现有属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882338/

相关文章:

c# - 帮助创建递归函数 C#

c# - ObjectStateManager Changed 不会为修改后的实体触发?

asp.net - 增加 MVC Controller 操作的 maxRequestLength

c# - 将结构转换为对象以进行空值比较不会导致装箱吗?

c# - WPF Dispatcher Thread- 使用 lambda 表达式和 throw 将异常分派(dispatch)给 UI 线程

php - 联系表 : Why won't this form validate?

ValidationRule 中的 wpf 绑定(bind)属性

c - isdigit() 和 isalpha() 返回类型 0?或者这里发生了什么。?

asp.net-mvc-2 - ASP MVC2 中部分缓存的当前做法是什么?

asp.net-mvc-2 - CreateIfNotExists 的命名空间是什么?