C# 如何更新引导multiselect ListItem

C# 如何更新引导multiselect ListItem,c#,bootstrap-multiselect,C#,Bootstrap Multiselect,在控制器类中,我从数据库中检索所有项目列表,并将其分配给演示者,然后刷新下拉列表: private Filters UpdateSessionFilter(Filters sessionFilter, int[] some_filters, ...) { var filters = this.SetFilters(); return AddFiltersToSession(filters, some_filters, ...);

在控制器类中,我从数据库中检索所有项目列表,并将其分配给演示者,然后刷新下拉列表:

private Filters UpdateSessionFilter(Filters sessionFilter, int[] some_filters, ...)
        {
            var filters = this.SetFilters();
            return AddFiltersToSession(filters, some_filters, ...);
        }

private Filters SetFilters()
        {
            var filters = new Filters
            {
                ...
                Filters_One = new MultiFilterPresenter(this.builder.GetTypeOfUsers(), null),
                ...
            };

            return filters;
        }

private static Filters AddFiltersToSession(Filters sessionFilter, int[] some_filters, ...)
        {
            var filters = new Filters();

            MultiFilterPresenter some = new MultiFilterPresenter(sessionFilter.Some.Values, some_filters.OfType<int>().ToList()); the first is ListItem, the second list of selected values

            filters .Some = some;
            ..

            return filters;
        }
private Filters UpdateSessionFilter(Filters sessionFilter,int[]some_Filters,…)
{
var filters=this.SetFilters();
返回AddFiltersToSession(过滤器、某些过滤器等);
}
私有过滤器SetFilters()
{
变量过滤器=新过滤器
{
...
Filters\u One=new MultiFilterPresenter(this.builder.GetTypeOfUsers(),null),
...
};
回流过滤器;
}
专用静态筛选器AddFiltersToSession(筛选器sessionFilter,int[]某些\u筛选器,…)
{
var filters=新过滤器();
MultiFilterPresenter some=新的MultiFilterPresenter(sessionFilter.some.Values,some_filters.OfType().ToList());第一个是ListItem,第二个是所选值列表
过滤器。一些=一些;
..
回流过滤器;
}
这是我的索引页

<div class="filter-container clearfix">
      <div class="row">
          <div class="col">
              <label class="filter-name">Some</label>
              <div class="inputGroupContainer">
                  @Html.DropDownListFor(model => Model.Some.SelectedValue,
                  Model.Some.Values, new { id = "somefilter" })
              </div>
          </div>
</div>
@section Scripts {
    <script type="text/javascript" src="~/Scripts/bootstrap-multiselect.js"></script>
    <script type="text/javascript" src="~/Scripts/alertify.min.js"></script>
    <script>
        $(document).ready(function () {
            multiselectFunction($("#somefilter"));

            $("button").css("text-shadow", "none");
            search();
        });

        function multiselectFunction(element) {
            const multiSelectOpt = {
                disableIfEmpty: true,
                disabledText: " -- ",
                maxHeight: 200,
                buttonWidth: "100%",
                onChange: function() {

                    var selectEle = element.find("option:selected");
                    if (selectEle.length > 0) {
                        element.next().find("button").addClass("selectedFilter");
                    } else {
                        element.next().find("button").removeClass("selectedFilter");
                    }
                },

                nonSelectedText: "None",
                allSelectedText: "All",
                numberDisplayed: 2,
                onSelectedText: "Selected"
            };
            element.multiselect(multiSelectOpt);
            element.multiselect('refresh');
            element.multiselect('rebuild');
        }

        function search() {
            API_Loading.show();
            var url = BASE_PATH + "Search/Searching";

            API_ajaxWrapper_Library.ajax(url,
                {
                    method: "POST",
                    traditional: true,
                    data: {
                        some: $("#somefilter").val()
                    },
                    onDone: function (data) {
                        $("#container").html(data);
                        API_Loading.hide();
                    },
                    onFail: function(result) {
                        API_Loading.hide();
                        console.log(result.responseText);
                        alertify.error("Some errors");
                    },
                    refreshDropBox();
                });
        }

        function refreshDropBox() {
            multiselectFunction($("#somefilter"));
        }
    </script>
}

一些
@Html.DropDownListFor(model=>model.Some.SelectedValue,
Model.Some.Values,新的{id=“somefilter”})
@节脚本{
$(文档).ready(函数(){
多选函数($(“#somefilter”);
$(“按钮”).css(“文本阴影”、“无”);
搜索();
});
函数多选函数(元素){
常量多选选项={
disableIfEmpty:true,
禁用文本:“--”,
最大高度:200,
按钮宽度:“100%”,
onChange:function(){
var selectEle=element.find(“选项:选中”);
如果(选择ele.length>0){
element.next().find(“按钮”).addClass(“selectedFilter”);
}否则{
element.next().find(“按钮”).removeClass(“selectedFilter”);
}
},
非选定文本:“无”,
allSelectedText:“全部”,
显示的数字:2,
onSelectedText:“已选定”
};
元素。多重选择(多重选择);
元素。多重选择(“刷新”);
元素。多选(“重建”);
}
函数搜索(){
API_Loading.show();
var url=BASE_PATH+“搜索/搜索”;
API_ajaxWrapper_Library.ajax(url,
{
方法:“张贴”,
传统的:是的,
数据:{
some:$(“#somefilter”).val()
},
onDone:函数(数据){
$(“#容器”).html(数据);
API_Loading.hide();
},
onFail:函数(结果){
API_Loading.hide();
console.log(result.responseText);
alertify.error(“某些错误”);
},
刷新Dropbox();
});
}
函数refreshDropBox(){
多选函数($(“#somefilter”);
}
}
为过滤器下拉列表检索更新数据的方法工作正常,因为在调试中列表被刷新。问题是屏幕上的情况保持不变,也许我错了,但我最大的疑问不是我必须重新分配给每个下拉列表更新列表