ASP.NET MVC5中可以使用ViewModel来实现在同一视图中编辑父类型和List<>类型的子类型。
首先,创建一个ViewModel,该ViewModel包含父类型和子类型的属性。例如:
public class ParentViewModel
{
public ParentType Parent { get; set; }
public List<ChildType> Children { get; set; }
}
然后,在控制器中创建一个包含父类型和子类型数据的ViewModel对象,并将其传递给视图:
public ActionResult Edit()
{
ParentViewModel viewModel = new ParentViewModel();
viewModel.Parent = GetParentData();
viewModel.Children = GetChildrenData();
return View(viewModel);
}
在视图中,使用表单来编辑父类型和子类型的数据。可以使用for
循环来遍历子类型的列表,并为每个子类型创建相应的表单字段。例如:
@model ParentViewModel
@using (Html.BeginForm("Save", "ControllerName", FormMethod.Post))
{
@Html.EditorFor(model => model.Parent)
for (int i = 0; i < Model.Children.Count; i++)
{
@Html.EditorFor(model => model.Children[i])
}
<input type="submit" value="Save" />
}
在控制器中,可以接收提交的表单数据,并进行相应的处理。例如:
[HttpPost]
public ActionResult Save(ParentViewModel viewModel)
{
// 处理父类型和子类型的数据
// 保存到数据库或进行其他操作
return RedirectToAction("Index");
}
这样,就可以在同一视图中编辑父类型和List<>类型的子类型了。
关于ASP.NET MVC5的更多信息,可以参考腾讯云的相关产品和文档:
领取专属 10元无门槛券
手把手带您无忧上云