我从我的数据库中选择了一些名称,我在控制器中添加了“无”选项:
var rtrnStaff = (from st in db.PrmTbl_Staffs
join sal in db.PrmTbl_Salutations on st.SalutationID equals sal.ID
where st.Active == true
select new { st.ID, Name = sal.Desc + ". " + st.Name });
List<SelectListItem> staff = new SelectList(rtrnStaff, "ID", "Name").ToList();
staff.Insert(0, (new SelectListItem { Text = "None", Value = "0" }));
ViewData["Staff"] = staff;
然后,我在我的视图中多次将此列表显示为下拉列表,每次我为其提供一个包含所需默认选项 ID 的变量:
@Html.DropDownList(thisSelectID, (IEnumerable<SelectListItem>)ViewData["Staff"], thisStaffID)
使用断点,我可以看到这些变量被正确填充(例如“3”、“2”等),但在每种情况下,显示的选项都是第一个:“无”。我的错误在哪里?