私は MVC プロジェクトに参加しており、現在、多対多のマッピングに悩まされています。
私は多対多の関係を持っています。大学での学生のコース選択をモデル化しています。学生には科目があり、指定された学期には科目の完全なリストがあります。
必要: 学生がページにアクセスできるフォームを作成し、チェック ボックスを使用していくつかの科目を選択します。
View Modle を作成しました (少なくとも私はそれを呼んでいます)。ビュー「編集」で使用されるモデルです。
Edit.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
}
その後、必要な接続を確立し (少なくともうまくいけば)、データベースに保存できるようになります。