【发布时间】:2019-12-15 09:13:56
【问题描述】:
在控制器索引中,我有以下内容:
ViewBag.Assignees = (await GetAllUsers()).Select(a =>
new SelectListItem
{
Text = a.DisplayName,
Value = a.Username,
Selected = a.DisplayName == "John Smith"
}).OrderBy(x => x.Text).ToList();
在视图中,我有以下内容:
@Html.DropDownListFor(model => model.Assignee,
ViewBag.Assignees as List<SelectListItem>,
"Select Assignee",
new { id = "ddlAssignee", @class = "form-control"})
下拉列表按预期填充,但是,确实存在的默认 (selected = true) 值未设置。有人可以建议上面有什么问题吗?
更新:
通过将SelectListItem.Value 更改为a.DisplayName(与SelectedListItem.Text 相同)我实现了它。仍然不确定是什么阻止下拉列表显示带有Selected = true的项目
【问题讨论】:
-
看看我的回答here看看有没有帮助
-
@Bosco 您的解决方案填充下拉列表并显示列表中的第一项。在我的场景中,默认值是动态的。
标签: c# asp.net asp.net-mvc razor