Как добавить поведение MVC в существующие классы? - PullRequest
2 голосов
/ 19 сентября 2010

У меня есть проект Windows Form, который я хотел бы перенести на веб-приложение с использованием ASP.NET MVC2.

В этом проекте у меня есть несколько классов POCO, как в этом примере, которые являются частью библиотеки классов.и что я хотел бы использовать с двоичной ссылкой

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

    public string Name { get; set; }

    public DateTime BornDate { get; set; }

    ...
}

Есть ли способ использовать эти классы в моем проекте Web MVC и добавлять, например, атрибуты проверки без изменения исходной сборки?

спасибо за помощь

Ответы [ 2 ]

1 голос
/ 19 сентября 2010

Вы можете добавить метаинформацию, например, валидацию, используя частичный класс

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; }
    }
}
1 голос
/ 19 сентября 2010

Вы можете взглянуть на FluentValidation .Он прекрасно интегрируется с ASP.NET MVC и позволяет незаметно добавлять правила проверки без изменения объектов POCO.

...