我有需要做一个多步骤的过程,在这个过程中,让我们说#34;大模型"将在每一步更新并最终保存到数据库中。现在,我这样做了:
[HttpGet]
public ActionResult StepOne()
{
return View();
}
[HttpPost]
public ActionResult StepOne(StepOneViewModel viewModel)
{
return RedirectToAction("StepTwo", "SameController", viewModel);
}
[HttpGet]
public ActionResult StepTwo(StepOneViewModel stepOneViewModel)
{
var stepTwoViewModel = new StepTwoViewModel()
{
stepOneViewModel = stepOneViewModel
};
return View(stepTwoViewModel );
}
[HttpPost]
public ActionResult StepTwo(StepTwoViewModel viewModel)
{
return RedirectToAction("StepThree", "SameController", viewModel);
}
......等等。这种方法似乎很好,因为它在一个视图中被强类型化,并且我可以对每个"较小的"进行单独的验证。查看模型。另一方面,我必须通过Hidden
输入传递前一个视图模型的每个参数(例如,使部分代码混乱太多)。
但还有另一种更好的方法吗?是否可以将具有许多属性的整个对象传递给隐藏的或类似的东西?