我们可以使用ViewModel来处理这个问题,以下是代码示例:
我们首先创建一个ViewModel,用于从前端获取所有的父对象及其对应的子对象:
public class ParentChildViewModel
{
public List Parents { get; set; }
public List Children { get; set; }
}
然后在视图页面上,我们需要创建一个表单,并为每个父对象创建一个表单元素:
@model ParentChildViewModel
注意,我们为每个父对象和对应的子对象创建了表单元素,并使用asp-for指令绑定了ViewModel中的属性。
最后,在我们的Controller中,我们可以使用ViewModel来处理我们提交的数据并将其保存到数据库中:
[HttpPost]
public IActionResult Submit(ParentChildViewModel viewModel)
{
// Save parents
foreach (var parent in viewModel.Parents)
{
dbContext.Parents.Add(parent);
}
// Save children
foreach (var child in viewModel.Children)
{
dbContext.Children.Add(child);
}
dbContext.SaveChanges();
return RedirectToAction("Index");
}
在提交表单时,将ViewModel作为参数传递给我们的Action,然后我们可以采取适当的措施将数据保存到数据库中。