【发布时间】:2013-01-25 00:18:03
【问题描述】:
我是 MVC 新手,无法理解一段代码。 我创建了一个新控制器以及所有 CRUD 方法和视图 - 由 Visual Studio 自动生成 - 我无法理解代码的一部分。
看,在控制器中,它从数据库中设置了一个 SelectList 并将其放入 ViewBag 中,如下所示: 控制器
public ActionResult Create()
{
ViewBag.TypeID = new SelectList(db.PlacementTypes, "TypeID", "Description");
return View();
}
在视图中是这样的:
<div class="editor-label">
@Html.LabelFor(model => model.TypeID, "PlacementType")
</div>
<div class="editor-field">
@Html.DropDownList("TypeID", String.Empty)
@Html.ValidationMessageFor(model => model.TypeID)
</div>
我不明白的是。 SelectList 到底是从哪里来的?因为我没有看到对 ViewBag 的调用。
我希望是这样的:
@Html.DropDownListFor("TypeID", (SelectList)ViewBag.TypeID)
这是我的疑问。不指定 ViewBag,MVC 怎么知道在哪里找到正确的列表??
【问题讨论】:
标签: asp.net-mvc razor viewbag html-select