从教程添加下拉列表

时间:2013-07-23 09:59:15

标签: c# asp.net-mvc-4

我刚开始学习ASP.Net技术并停止了微软的有趣教程。 这是link。有一部分他们添加和填充下拉列表,我不知道如何。当我完全像他们那样做时,我没有得到那个下拉列表。请解释一下这部分是否正常,我做错了什么。

1 个答案:

答案 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()帮助程序。