相关疑难解决方法(0)

为什么DropDownListFor会在提交后丢失多个选择,但ListBoxFor不会?

我已经阅读了很多关于使用MultiSelectList的文章,还没有理解我的DropDownListFor出了什么问题.我有一个ListBoxFor与相同的View,ViewModel和数据工作正常.我想使用DropDownListFor,因为它具有ListBoxFor没有的optionLabel参数.

首次加载View时,DropDownListFor和ListBoxFor都会显示多个选定的项目.

初步观点

单击"提交"按钮时,所选项目集合将回发到Controller操作,并且视图将刷新,ListBoxFor仍显示两个选定项目,但DropDownListFor仅显示一个选定项目.

刷新视图 控制器动作正在构建MultiSelectList,如下所示:

vm.TasksFilterGroup.Assignees = new MultiSelectList(employees, "Id", "FullName", new string[] { "51b6f06a-e04d-4f98-88ef-cd0cfa8a2757", "51b6f06a-e04d-4f98-88ef-cd0cfa8a2769" });
Run Code Online (Sandbox Code Playgroud)

View代码如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

为什么DropDownListFor会在提交后丢失多个选择,但ListBoxFor不会?

asp.net-mvc asp.net-mvc-5.2

8
推荐指数
1
解决办法
2431
查看次数

标签 统计

asp.net-mvc ×1

asp.net-mvc-5.2 ×1