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