ASP.NET MVC. Вопрос по архитектуре
От: zelenyi_slon  
Дата: 23.02.11 17:10
Оценка:
добрый день. У меня несколько вопросов по архитектуре MVC приложения. Допустим у нас есть модель, в модели есть класс Idea, сгенерированный Entity Framework. Например вот такой :



теперь мне нужна страница редактирования объекта этого класса. В редактирование входит например Title, Description, Status, Categories... Т.е. как явные поля, так и ассоциации
Как лучше сделать? Отнаследоваться от
System.Web.Mvc.ViewPage<Idea>

или создать специальный класс типа:

    public class IdeaAdminPage
    {
        [Required(ErrorMessage = "Title Required")]
        public string IdeaTitle { get; set; }
        [Required(ErrorMessage = "Description Required")]
        public string IdeaDescription { get; set; }
        //public int StatusID { get; set; }
        public string StatusName { get; set; }
        public string TagString { get; set; }
        public string PreviousPage { get; set; }
    }


уже от него отнаследоваться и заполнять его в контроллере. Неудобства второго подхода — метод контроллера разрастается казалось бы глупым кодом тупого копирования данных. Плюс — "чистый" вью. Как правильно делать?
Re: ASP.NET MVC. Вопрос по архитектуре
От: Ronaldo 9  
Дата: 24.02.11 06:35
Оценка:
Здравствуйте, zelenyi_slon, Вы писали:

_>Как правильно делать?


Я бы не стал усложнять и создавать отдельный DTO-класс IdeaAdminPage. Обычно, модель в MVC — это общий формат данных для контроллера и вьюх. Так что я за Idea в качестве параметра для ViewPage<>.
Re: ASP.NET MVC. Вопрос по архитектуре
От: stapter  
Дата: 24.02.11 06:48
Оценка:
Здравствуйте, zelenyi_slon, Вы писали:

В третьем mvc я бы сделал строго типизированное представление с model class Idea, выбрал Scaffold template Edit и поудалял бы лишние поля.
Re[2]: ASP.NET MVC. Вопрос по архитектуре
От: zelenyi_slon  
Дата: 25.02.11 10:53
Оценка:
Здравствуйте, Ronaldo 9, Вы писали:

R9>Я бы не стал усложнять и создавать отдельный DTO-класс IdeaAdminPage. Обычно, модель в MVC — это общий формат данных для контроллера и вьюх. Так что я за Idea в качестве параметра для ViewPage<>.


во вьюхе данные из этого общего класса нужно преобразовать в какой-то там формат. Эти все операции делать во вьюхе, перемешивая серверный код и HTML?
Re[2]: ASP.NET MVC. Вопрос по архитектуре
От: Аноним  
Дата: 08.03.11 14:06
Оценка:
Здравствуйте, Ronaldo 9, Вы писали:

R9>Здравствуйте, zelenyi_slon, Вы писали:


_>>Как правильно делать?


R9>Я бы не стал усложнять и создавать отдельный DTO-класс IdeaAdminPage. Обычно, модель в MVC — это общий формат данных для контроллера и вьюх. Так что я за Idea в качестве параметра для ViewPage<>.


Также, часто во вьюхе нужны ещё какие-то данные, например выпадающий список из данных другого класса. Как поступать? Писать кучу кода во вьюхе?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.