我已经阅读了许多关于使用MultiSelectList的文章,但仍然不理解我的DropDownListFor出了什么问题。我有一个具有相同视图、ViewModel和数据的ListBoxFor可以很好地工作。我想使用DropDownListFor,因为它有一个ListBoxFor没有的optionLabel参数。
当视图首次加载时,DropDownListFor和ListBoxFor都显示了多个选定的项目。
当单击提交按钮时,所选项目集合被发送回控制器操作并刷新视图,ListBoxFor仍显示两个选定项目,但是DropDownListFor只显示一个选定项目。
vm.TasksFilterGroup.Assignees = new MultiSelectList(employees, "Id", "FullName", new string[] { "51b6f06a-e04d-4f98-88ef-cd0cfa8a2757", "51b6f06a-e04d-4f98-88ef-cd0cfa8a2769" });
The View code looks like this:
<div class="form-group">
<label>ListBoxFor</label>
@Html.ListBoxFor(m => m.TasksFilterGroup.SelectedAssignees, Model.TasksFilterGroup.Assignees, new { @class = "form-control", multiple = "multiple" })
</div>
<div class="form-group">
<label>DropDownListFor</label>
@Html.DropDownListFor(m => m.TasksFilterGroup.SelectedAssignees, Model.TasksFilterGroup.Assignees, new { @class = "form-control", multiple = "multiple" })
</div>