我正在尝试创建一个视图,我可以在其中编辑来自2个不同模型的数据。我阅读了本手册:Multiple models in a view以及其他一些关于SO的主题,我在视图中成功获取了2个模型的数据,但我无法理解为什么我无法在视图中编辑它。
所以,在我看来,我有点像:
@model Tuple<GroupProjectsModel,InfrastructureModel>
@Html.EditorFor(m => m.Item1.Data)
@Html.EditorFor(m => m.Item2.Data)
然后,当我试图保存数据时,发生了一些错误。我在控制器中有以下代码:
[HttpPost]
[InitializeEditPageAttribute]
public ActionResult Edit(GroupProjectsModel get, InfrastructureModel getInf)
{
if (ModelState.IsValid)
{
....
return ReturnView(get.Id, NameModule);
}
var tuple = new Tuple<GroupProjectsModel, InfrastructureModel>(get, getInf);
return View(tuple);
}
在这种情况下,变量ModelState.IsValid无论如何都等于false。但我正在尝试另一种情况:
[HttpPost]
[InitializeEditPageAttribute]
public ActionResult Edit(Tuple<GroupProjectsModel, InfrastructureModel> tupleFromModel)
{
if (ModelState.IsValid)
{
...
return ReturnView(tupleFromModel.Item1.Id, NameModule);
}
var tuple = new Tuple<GroupProjectsModel, InfrastructureModel>(tupleFromModel.Item1, tupleFromModel.Item2);
return View(tuple);
}
也犯了错误。我不知道该怎么做。
答案 0 :(得分:0)
刚刚创建了另一个包含两个类的类。
public class EditViewModel
{
public GroupProjectsModel groupProjectsModel {get; set;}
public InfrastructureModel infrastructureModel {get; set;}
}