А что вы вкладываете в свое мнение?
Недавний блог от Скотт Хансельман об использовании специальной связующей модели для более простого тестирования заставил меня задуматься о следующем:
Что вы вкладываете в логику своего контроллера при построении модели представления, и что следует помещать в представление? что он делает, это:
var viewModel = new DinnerFormViewModel {
Dinner = dinner,
Countries = new SelectList(PhoneValidator.Countries, dinner.Country)
};
return View(viewModel);
Теперь я использую тот же способ передачи данных в мое представление, но я не уверен, как он работает со свойством стран. Вы могли бы поспорить обе стороны:
Обтекание списка стран в списке SelectList подготавливает данные для представления, так же, как вы создаете DTO модели представления для передачи ваших данных.
С другой стороны, почему-то кажется, что вы специально манипулируете данными, которые будут использоваться в раскрывающемся списке, ограничивая то, как представление обрабатывает ваши данные из контроллера.
Я чувствую, что это немного серая область на разделении проблем между представлением и контроллером, и я не могу действительно решить, какой путь пойти. Есть ли лучшие практики для этого?
PS: Для простоты давайте предположим контекст ASP.NET MVC по умолчанию, так что в основном ваш готовый проект. Движок по умолчанию и все такое прочее.