将MVC行为添加到现有类的方法是什么?

时间:2010-09-19 11:25:59

标签: asp.net asp.net-mvc asp.net-mvc-2 poco

我有一个Windows Form项目,我想使用ASP.NET MVC2迁移到Web应用程序。

在这个项目中,我有一些POCO类,如本例所示,它们是类库的一部分,我想用二进制引用

public class Person
{
    public int PersonID { get; set; }

    public string Name { get; set; }

    public DateTime BornDate { get; set; }

    ...
}

有没有办法在我的Web MVC项目中使用这些类并添加,例如验证属性而不修改原始程序集?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您可以查看FluentValidation。它与ASP.NET MVC很好地集成,允许您在不修改POCO对象的情况下不显眼地添加验证规则。

答案 1 :(得分:1)

您可以使用部分类

添加验证等元信息
namespace xxx.Data.yyy
{
    [MetadataType(typeof(Posting_Validation))]
    public partial class Posting { 
    }

    public class Posting_Validation {
        [Required(ErrorMessage = "Need title")]
        [StringLength(50, ErrorMessage = "Must be under 50 characters")]
        [DisplayName("Title")]
        public string Title { get; set; }

        [Display(AutoGenerateField = false)]
        [HiddenInput(DisplayValue=false)]
        public int PostingId { get; set; }

        [UIHint("tiny_mce")]
        public string HtmlContent { get; set; }
    }
}