首页 > 解决方案 > aps.net MVC MultiSlectList 所选项目不起作用

问题描述

我尝试将 APS.NET MVC 中的 MultiSlectList 与选定项目一起使用。

这是后端代码:

            var listPoles = new List<long>();

            foreach (var pole in employeePole.PolesList)
                listPoles.Add(pole.Id);

            ViewBag.poles = new MultiSelectList(GetPoles(), "Id", "Name", listPoles);

GetPoles() 返回一个 IReadOnlyList。

HTML 代码(视图):

<select multiple="multiple" title="selecione..." class="form-control selectpicker" id="poles" asp-for="@Model.Poles" asp-items="@ViewBag.poles"></select>

在编辑视图(前端)中,选择组件不会加载所选项目,但我在同一系统的另一个 CRUD 中使用了完全相同的代码(具有不同的实体)并且它工作正常。

我尝试使用许多不同类型的集合(可枚举、只读列表、列表等)来创建所选项目列表,但没有任何效果

怎么了?

标签: c#asp.net-mvcweb

解决方案


  1. 如果列表中充满了数据,请尝试调试。
  2. 不要在 MultiSelectList 构造函数中调用 GetPoles() 方法,出于简洁的代码原因,为此使用变量
  3. 检查 GetPoles() 是否不包含异步方法
  4. Viewbag 可以在阅读后进行清洁。尝试改用该模型。

推荐阅读