私のasp.net MVC 3プロジェクトでは、会社に関連する連絡先を作成したいと考えています.
連絡先を直接作成するか、会社の詳細ビューを介して新しい連絡先を追加し、companyId を渡してその会社を連絡先作成フォームのドロップダウンに設定することができます。
問題は、ドロップダウンで渡された会社をデフォルトとして取得できないことです。
Global.asax
routes.MapRoute("contactCreate", "contact/toevoegen/{companyid}", new { action = "ContactCreate", controller = "Backend", companyid = UrlParameter.Optional });
コントローラー方式
public ActionResult ContactCreate(int? companyid)
{
Contact contact = new Contact();
ViewBag.StatusList = srep.getContactStatusses();
ViewBag.CompanyId = companyid;
return View(contact);
}
意見
@model xxx.Models.Contact
...
<div class="editor-label">
@Html.LabelFor(model => model.bedrijf_id)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.bedrijf_id, new SelectList(ViewBag.Bedrijven, "bedrijf_id", "bedrijf_naam",ViewBag.CompanyId), "--Kies bedrijf--")
@ViewBag.CompanyId
@Html.ValidationMessageFor(model => model.bedrijf_id)
</div>
...
@ViewBag.CompanyId に値があります。
選択した値を設定していない理由は何ですか?