假设我有一个带有 parentModel 的 parent.cshtml 视图,以及一个带有 childModel 的 child.cshtml 视图。此子操作[ChildActionOnly]
在 parent.cshtml: 中呈现并呈现@Html.Action("ChildAction")
。
现在,在控制器/ParentAction
public ActionResult ParentAction() {return View();}
[HttpPost]
public ActionResult ParentAction(ParentModel parentmodel) {
if(!ModelState.IsValid) {
...
ModelState.AddModelError("", "parent view has an error");
}
return View(parentmodel); // pass the ball back to user
}
在控制器/ChildAction
[ChildActionOnly]
public ActionResult ChildAction() {return View();}
[HttpPost]
public ActionResult ChildAction(ChildModel childmodel) {
if(!ModelState.IsValid) {
...
ModelState.AddModelError("", "child view has an error");
}
//??? return ParentView(parentmodel, childmodel) ??? how do i do this???
}
在子操作中,我如何返回到 ParentView(也呈现 ChildView),并在他们的模型中保留数据?
编辑: - - -
我的观点是如何不这样做。return View(childmodel);
from child action 不会得到我们想要看到的东西,因为它只会给我们一个只有子视图的“部分”页面,缺少父部分。RedirectToAction("ParentAction");
将再次给我们完整的视图,但它会丢失模型。不确定如何处理嵌套视图中的返回模型。这就是我卡住的地方。