我有一个在我的MVC应用程序中要解决的向导问题。我没有Javascript,我有3个视图,每个步骤一个。
场景是:我有一个3步骤的过程。 S1发布到S2和S2发布到S3。 如果我有模型验证错误,则会在下一个视图中捕获错误,因为数据已经在那里发布。我的代码看起来像:return(View,modeldata)如果确定ELSE返回(“PreviousView”,modeldata)。问题是我的URL仍然在请求的帖子中
答案 0 :(得分:3)
在所有情况下,我都会将每个表格发回原始的控制者/行动,然后转到适当的下一步......即
[HttpGet]
public ActionResult StepOneNameHere() {
StepOneModel model = new StepOneModel();
// Populate any bits on the model...
return View(model);
}
[HttpPost]
public ActionResult StepOneNameHere(StepOneModel model) {
// Validation
if (ModelState.IsValid) {
// You can add logic to choose the next step, for example if they have
// selected an option that requires an additional step in the wizard or
// if you can skip a step in the wizard
return RedirectToAction("StepTwoNameHere");
} else {
return View(model);
}
}