首页 > 解决方案 > 在不使用控制器的 ViewBag 的情况下填充下拉列表,但它可以在 asp.net mvc 中工作,它是如何发生的?

问题描述

在我的控制器中,我将下拉选项存储在ViewBag

var departments = db.Departments.OrderBy(q => q.Name).ToList();
ViewBag.SelectedDepartments = new SelectList(departments, "DepartmentID", "Name", SelectedDepartment);

在视图中,我知道我可以使用以下内容填充下拉列表:

@Html.DropDownList("SelectedDepartment", (IEnumerable<SelectListItem>)ViewBag.SelectedDepartments,"All")

但是为什么下面的代码在根本不使用 ViewBag 的情况下也可以工作,ViewBag在这种情况下是如何发挥作用的呢?

@Html.DropDownList("SelectedDepartments", "All")

标签: asp.netasp.net-mvc

解决方案


推荐阅读