asp.net - 在不使用控制器的 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")
解决方案
推荐阅读
- symfony - Symfony 3 嵌套集合模板与 Twig
- android - 如何在自定义日历中使用谷歌日历 API,以及如何将事件添加到自定义日历中?
- svn - TortoiseSVN 日志只显示一天?
- python - 当 etcd 集群关闭或不健康时从 Python 发送电子邮件
- ios - Tesseract iOS - 无法识别文本
- javascript - 导航器链接在滚动时不会改变颜色
- simulator - 如何检测 Alexa 模拟器的使用
- c++ - 为什么此代码无法使用 gcc 4.8.5 编译,而使用 clang 可以正常编译
- python - Django/Python:在项目范围内使用配置导入包
- php - yii2 mandrill 邮件已发送但未插入包含