Прежде чем продолжить, прочитайте о разнице между моделью домена и моделью представления. Довольно часто в простом приложении вы можете использовать модель домена. По мере роста системы вы, вероятно, столкнетесь с проблемами, когда будет сложно реализовать простые функции. В конце концов вы увидите необходимость рефакторинга кода, и именно тогда вы, вероятно, увидите необходимость в модели представления.
Ваш вопрос касается параметров, которые передаются в действия контроллера. У вас есть контроллер для редактирования чего-либо.
Существует Edit GET, где вы делаете что-то вроде этого:
- Чтение данных из базы данных
- Оберните его в объект
- Передать этот объект в представление, в котором будет отображаться объект
Существует Edit POST, который хочет получать данные и записывать изменения в базу данных. Так что вам нужно, чтобы это произошло? Вам нужен идентификатор и комбинация полей, которые вы хотите обновить. Передача FormCollection и что-то еще означает, что вам нужно отобразить значения из FormCollection в вашу модель домена. Это трудоемкая и повторяющаяся задача.
Вы не хотите этого делать, поэтому вы хотите отправить обратно один объект, не важно, является ли это моделью представления или моделью домена, но это должен быть объект, который содержит все данные, которые вам нужны для обновление.
Функция привязки данных в инфраструктуре MVC 3 автоматически сопоставляет поля из формы с вашей моделью, используя умное отражение.
То, что вы делаете, - это своего рода работа, и это отличный способ учиться. Так что не сдавайся. Refactor, посмотрите, можете ли вы передать один объект и работать с ним.
Удачи