немного уточнений
Действия контроллера GET и POST могут легко использовать любые типы, которые им необходимы. На самом деле мы не говорим о моделях здесь. Модель - это набор классов / типов, которые представляют некоторое состояние / данные приложения. Следовательно приложение или данные модель.
То, что мы имеем здесь в виду:
- Просмотр типов моделей
- типы параметров метода действия
Итак, модель вашего приложения остается прежней. И GetModel
и PostModel
- это всего лишь два класса / типа в этой модели. Они не являются моделями per se.
Разные типы? Конечно, мы можем!
В вашем случае вы используете модель вида GetModel
, а затем передаете ее данные в PostModel
параметр действия. Поскольку оба эти класса / типа имеют свойства с одинаковыми совпадающими именами, механизм связывания модели по умолчанию сможет заполнять свойства PostModel
. Если имена свойств не будут одинаковыми, вам придется изменить представление, чтобы переименовать входные данные, чтобы отразить имена свойств типа действия POST.
Вы также можете получить представление с типом GetModel
и затем опубликовать действие с несколькими различными параметрами, такими как:
public ActionResult Edit(Person person, IList<Address> addresses)
{
...
}
Или что-нибудь еще. Вам просто нужно убедиться, что данные публикации могут быть связаны с этими параметрами и их типами ...