此 ASP.NET MVC 应用程序的布局如下所示(这是一个移动 Web 应用程序):
- 第1页是第1个问题 -> 提交表格并返回第2页的视图
- 第 2 页是问题 2 -> 提交表单并返回第 3 页的视图
- 第 3 页是最后一个问题 -> 提交以完成处理
在每个表单提交后,我希望下一页的视图会出现并相应地提交。但是,当我点击提交按钮时,真正发生的事情是在第 1 页上,它显示了 第 2 页的视图,但是现在我在第 2 页上并且我在该页面上点击了提交,它调用了第 1 页的 HttpPost
操作。
什么会导致第 2 页的提交调用第 1 页的 HttpPost
操作?
这是我正在做的事情的基本想法:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(MyModel myModel)
{
return View("Page2", myModel);
}
[HttpPost]
public ActionResult Page2(MyModel myModel)
{
return View("Page3", myModel);
}
[HttpPost]
public ActionResult Page3(MyModel myModel)
{
if (ModelState.IsValid)
{
// do something and complete
}
return RedirectToAction("Index", "Home");
}
这显然过于简单化了,但你应该明白这一点。的Page2
视图得到渲染没有问题。但是在那个页面上,当点击提交按钮时,它会直接回到HttpPost
.Index()
有任何想法吗?