Как мы должны передавать данные в представление на большом веб-сайте ASP.NET MVC - PullRequest
2 голосов
/ 24 сентября 2011
Прежде всего, я был программистом PHP в течение долгого времени, и я недавно программист MVC.Я сделал несколько небольших веб-сайтов, каждый из которых имеет один или два контроллера максимум.Но я запустил сайт, который будет очень важным сайтом.Будет много данных для передачи в представления. Теперь обычно я стараюсь каждый раз использовать подход модели вместо подхода ViewBag или ViewData.Если представление требует больше данных, я изменяю класс модели и затем перекомпилирую проект.Особенно, если тема является страницей указателя, данные для передачи в представление указателя изменяются каждый раз.На большом веб-сайте я буду использовать частичное представление, которое использует разные модели.Поэтому каждый раз мне придется менять модель индекса для поддержки этих частичных представлений в представлении индекса.если я добавляю новое частичное представление в представление индекса, я должен добавить модель частичного представления в модель индекса. Я реализую класс IndexModel для представления индекса каждый раз, когда запускаю веб-сайт.Затем я добавляю свойства в эту модель каждый раз, когда добавляю новое частичное представление в индекс. Теперь это правильный подход или я должен использовать ViewBag или ViewData для моделей частичных функций.Я думаю, что реальный вопрос в том, когда нам следует использовать модельный подход, а когда - нет ... Если вы поделитесь своим опытом, я был бы признателен.

Ответы [ 2 ]

4 голосов
/ 24 сентября 2011

Подход MVC, который вы должны всегда использовать, особенно для простых сайтов, он экономит ваше время и делает приложение более понятным.

Если вы пишете что-то больше двух страниц, вам нужно использовать шаблон MVVM (ростMVC), в этом случае вы избежите использования «частичных моделей» с ViewModels.

Модель должна содержать только бизнес-логику.

Будет лучше, если вы всегда будете использовать ViewModel (не модель) для возврата данных из представления и передачи их в представление, поскольку это обеспечивает некоторую безопасность.

Для упрощения процедуры копирования данных из моделей в ViewModels используйте такие вещи, как AutoMaper и EmitMapper.

ViewBag и ViewData, которые вы должны использовать только для дополнительных данных, таких как наборы элементов для DropDown, или для некоторых видов текста, таких как заголовок страницы.

Еще одно преимущество шаблона MVVM - лучшая тестируемость.Если вы пишете и поддерживаете действительно хороший сайт, вы можете написать тесты для некоторых ответственных частей кода.

Для получения более подробной информации вы можете посмотреть на Google - MVVM, ASP-MVC.

Если я что-то не такпонял в вашем вопросе или пропустите, напишите это в комментарии (ссылка «добавить комментарий»).

0 голосов
/ 24 сентября 2011

Лично я предпочитаю, чтобы мои сайты были постоянными и всегда использовал Model + Viewmodel (независимо от размера сайта), несмотря на дополнительную работу (которая в любом случае невелика).

Это помогает с ремонтопригодностью.Я знаю, где и как все хранится и кодируется на сайте.

...