MVC フレームワークを使用して、メンティー データベース テーブルにメンティーを追加するビューを作成しました。メンティーに関連するすべての情報を入力することはできますが、学校のドロップダウン ボックスから選択した値をどのように取得し、id 値を相互参照テーブル mentee_school に入力するかがわかりません。注:学校のドロップダウン テーブルに既に値があります。例えば:
テーブルの関係:
メンティー ビュー モデル:
public class MenteeViewModel
{
public mentee mentee { get; set; }
public guardian guardian { get; set; }
public address address { get; set; }
public email email { get; set; }
public user users { get; set; }
public phnumber phnumber { get; set; }
public econtact econtact { get; set; }
[Display(Name = "School System")]
public int SelectedSSystemId { get; set; }
public IEnumerable<SelectListItem> SSystemItems { get; set; }
[Display(Name = "School")]
public int SelectedSchoolId { get; set; }
public IEnumerable<SelectListItem> SchoolItems { get; set; }
}
メンティー ビュー:
<div class="editor-label">
@Html.LabelFor(model => model.SelectedSchoolId)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.SelectedSchoolId,(IEnumerable<SelectListItem>)ViewBag.school_ids, "--Select One--")
</div>
メンティーコントローラー
[HttpPost]
public ActionResult Create(ViewModels.MenteeViewModel menteeViewModel )
{
if (ModelState.IsValid)
{
menteeViewModel.mentee.addresses.Add(menteeViewModel.address);
menteeViewModel.mentee.guardians.Add(menteeViewModel.guardian);
menteeViewModel.mentee.econtacts.Add(menteeViewModel.econtact);
menteeViewModel.mentee.emails.Add(menteeViewModel.email);
//Below statement doesn't work with current model
menteeViewModel.mentee.schools.Add(menteeViewModel.SelectedSchoolId);
db.mentees.Add(menteeViewModel.mentee);
db.SaveChanges();
return RedirectToAction("Index");
}
return Create();
}
私の質問は、ドロップダウン ボックスで選択した学校の値とメンティー ID を mentee_school 相互参照テーブルに保持するにはどうすればよいですか?