0

我的 MVC3 项目中有 Jquery Select2 DropdownList。通常下拉列表的数据最少为 50000 条记录。通过 ViewBag 从控制器传递到视图的记录。当将数据渲染到页面时,会花费大量时间来加载所有数据。

此外,当我单击下拉列表时,会出现一些浏览器错误,例如停止脚本。我需要知道是否有更好的方法可以在不影响页面加载的情况下将我的内容加载到 DropDownList 中。我将在此处附加我当前的控制器并查看代码。

行动

ViewBag.IssueId = new SelectList(Db.Issues, "id", "Description", item.IssueId);

看法

    @Html.DropDownList("IssueId", string.Empty)

jQuery Select2 代码

    $('#IssueId').select2({
        placeholder: 'Select Issue',
        width: '220px',
        allowClear: false
    });
4

2 回答 2

2

没有下拉列表应该有 50000 条记录。

这对于用户体验来说是可怕的。

你需要重新考虑你想要达到的目标。例如,如果确实能够加载,用户如何能够使用具有这么多选项的下拉菜单。也许你可以有一个过滤器,可以在下拉列表中加载不同的集合,这个过滤器本身可以是一个下拉列表。

于 2012-12-11T09:09:27.553 回答
0

You should try categorizing (if possible) your List Items into groups.

Eg.:

Group A:items
Group B:items

And so on...

& then you can use cascading dropdownlists for selection.

于 2012-12-11T10:19:10.083 回答