在MVC3中的DropdownList中加载大量数据

时间:2012-12-11 09:07:41

标签: javascript jquery asp.net-mvc asp.net-mvc-3 html-select

我的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
    });

2 个答案:

答案 0 :(得分:2)

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

这对User Experience来说太可怕了。

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

答案 1 :(得分:0)

您应该尝试将列表项分类(如果可能)到组中。

例如:

Group A:items
Group B:items

等等......

&安培;然后你可以使用级联下拉列表进行选择。