Для другого, менее изящного решения, представьте сайт с «Wizard-подобной» структурой страниц (Views), где вы хотите передать ViewModel со страницы 1 на страницу 2, со страницы 2 на страницу 3 и т. Д.
Проблема в том, что версия "GET" на странице 2 должна получать модель со страницы 1, но также должна передавать модель на страницу 3 при выполнении обратной передачи.Поэтому обе версии GET и POST любых «средних» страниц нуждаются в подписи, содержащей модель.
Обходной путь - просто добавить «параметр мусора» в подпись, убедившись, что он может быть обнуляем, используя?.
[HttpGet]
public ActionResult Page2(MyModel myModel)
{
}
[HttpPost]
public ActionResult Page2(MyModel myModel, int? i)
{
}