私の選択リストは、コードを介して取り込まれるデフォルトのオブジェクトを選択していません。
私は最初に私のSelectList
ようなものを作成します:
public SelectList CreateSelectList(object objSelected = null)
{
return new SelectList(GetAll().OrderBy(s => s.NumericalValue), "PeriodID", "Name", objSelected);
}
objSelectedは、PeriodIDに関連付けられたGUIDで埋められます。
コントローラ内で、viewbag
変数を新しい選択リストに定義します。
public ActionResult Edit(Guid id)
{
Classroom classroom = classroomRepository.GetByID(id);
ViewBag.PeriodID = periodRepository.CreateSelectList(classroom.PeriodID);
return View(classroom);
}
次に、私のビューで、これが私の表示方法ですSelectList
:
<div class="control-group">
@Html.LabelFor(model => model.PeriodID, "Period", new { @class = "control-label" })
<div class="controls">
@Html.DropDownListFor(model => model.PeriodID, ViewBag.PeriodID as SelectList, String.Empty, new { @class = "span3" })
@Html.ValidationMessageFor(model => model.PeriodID)
</div>
</div>