我的选择列表未选择通过代码引入的默认对象。未选择MVC4 SelectList默认对象
我第一次创建我的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>
和什么应该是默认对象? – Thousand
默认对象应该是一个名为“Fourth”的项目,与传入的Guid关联。问题是,View中没有显示任何内容,它只是SelectList中的第一项。 –
以及现在显示的默认对象是什么?如果我理解正确,默认值必须来自你正在返回的列表? – Thousand