Однажды я работал над формой мастера в Asp.Net MVC, и в этом случае лучше всего использовать Model / ModelBinding для отслеживания ввода формы.
Мы можем создать цепочку действий контроллера (для каждого шага) с выходной моделью каждого, служащей входной моделью для следующего шага (действия).
Например, если у нас есть три шага для создания пользователя. Тогда UserController может иметь действия для каждого шага.
public ActionResult Step1()
{
User user = new User();
return View(user);
}
[Post]
public ActionResult Step1(User user)
{
//perform business validation
RedirectToAction<UserController>(u => Step2(user));
}
После этого действие Step2 вступает во владение с измененным пользователем из Step1 и может отображать свое собственное представление и т. Д.