我在一个 MVC 项目中,目前卡在多对多映射中。
我有一个多对多的关系。它模拟大学中的学生课程选择。一个学生有科目,并且对于给定的学期,有一个完整的科目列表。
需要:制作一个学生可以访问该页面的表格,并通过使用复选框来选择一些科目。
我创建了一个视图模型(至少我是这么称呼它的)。这是将在视图“编辑”中使用的模型。
编辑.cshtml
//in the Edit View
@model StudentViewModel
//Some more code
@Html.EditorFor(model => model.Std.Name)
//etc..
学生视图模型
class StudentViewModel
{
public Student Std { get; set; }
public List<SubjectsSelection> Subs{ get; set; }
}
class SubjectSelection
{
public string Name { get; set; }
public int ID { get; set; }
public bool Selected { get; set; }
}
我想要的是为每个主题添加一组复选框,Selected = true
以便检查。
for
我打算通过手动循环创建一个复选框列表。
我可以用一些类似的东西来做到这一点,@Html.EditorFor(model => model.Subs)
以便在提交表单时我可以使用这样的控制器
[HttpPost]
public ActionResult Edit(Machine machine, SubjectSelection[] subs)
{
//Some code here
}
这样之后我就可以进行必要的连接(至少希望如此)并保存到数据库中。