我刚刚开始学习 ASP.Net 技术,并在 Microsoft 的有趣教程上停下来。这是链接。他们在其中添加和填充下拉列表的一部分,我不明白如何。当我完全按照他们的方式做时,我没有得到那个下拉列表。请向我解释那部分是否一切正常,我做错了什么。
问问题
96 次
1 回答
2
@Html.DropDownList()
有点特别。您可以隐式或显式地向其传递参数值。
在本教程中,他们通过使用模型属性的名称调用助手来隐式执行此操作,如下所示:
<div class="editor-field">
@Html.DropDownList("DepartmentID", String.Empty)
@Html.ValidationMessageFor(model => model.DepartmentID)
</div>
通过隐式执行,HTML 助手将在 中查找ViewBag
具有相同名称的对象。而且,正如您在PopulateDepartmentsDropDownList()
方法中看到的那样,他们正是这样做的(最后一行):
private void PopulateDepartmentsDropDownList(object selectedDepartment = null)
{
var departmentsQuery = from d in db.Departments
orderby d.Name
select d;
ViewBag.DepartmentID = new SelectList(departmentsQuery, "DepartmentID", "Name", selectedDepartment);
}
在本教程中,@Html.DropDownList()
将更详细地解释帮助程序。
于 2013-07-23T11:07:43.377 回答