MVC выпадающий список для множественного выбора не работает, просто откройте полный список? - PullRequest
0 голосов
/ 09 мая 2020
public class RollClass
    {
        public int RoleID { get; set; }
        public string RoleName { get; set; }

        public List<RollClass> GetRoleList { get; set; }
    }

В контроллере

 RollClass rc = new RollClass();
            rc.GetRoleList = db.Roles.Select(c => new RollClass {
                RoleID = c.RoleID,
                RoleName = c.RoleName
            }).ToList();
            ViewBag.Roles = rc.GetRoleList;

моя привязка View к пользовательской модели, поэтому я передаю значение раскрывающегося списка через viewbag.

@Html.DropDownListFor(model => model.RoleID, ViewBag.Roles as SelectList,
            "Select Role", new { @class = "form-control", multiple =true })

После использования multiple = true отображается Открытое раскрывающееся меню означает, что в нем отображаются все три значения раскрывающегося списка, а множественный выбор не работает.

Я использую MVC 5 и bootstrap 4,0

Любые предложения будут оценены

1 Ответ

0 голосов
/ 09 мая 2020

используйте select2

см. Эти ссылки:

https://select2.org/

и для нескольких раскрывающихся списков:

https://select2.org/selections

Я использовал как показано ниже:

 @Html.DropDownListFor(model => model.RoleID,ViewBag.Roles as SelectList, new { @class = 
   "select2_tagged form-control", placeholder = "select ..." })


<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Select2/js/select2.js"></script>
  <script>
     $("#RoleID").on("select2:select", function (evt) {
            var element = evt.params.data.element;
            var $element = $(element);
            $element.detach();
            $(this).append($element);
            $(this).trigger("change");
        });
  </script>
...