我刚开始学习ASP.Net技术并停止了微软的有趣教程。 这是link。有一部分他们添加和填充下拉列表,我不知道如何。当我完全像他们那样做时,我没有得到那个下拉列表。请解释一下这部分是否正常,我做错了什么。
答案 0 :(得分:2)
@Html.DropDownList()
有点特别。您可以隐式或显式地传递参数值。
在本教程中,他们通过使用模型属性的名称调用帮助程序来隐式执行它,如下所示:
<div class="editor-field">
@Html.DropDownList("DepartmentID", String.Empty)
@Html.ValidationMessageFor(model => model.DepartmentID)
</div>
通过隐式执行,HTML-helper将在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);
}
在this tutorial中,会更详细地解释@Html.DropDownList()
帮助程序。