我的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
});
答案 0 :(得分:2)
没有下拉列表应该有50000条记录。
这对User Experience来说太可怕了。
你需要重新考虑你想要达到的目标。例如,如果用户设法加载,用户如何能够使用这么多选项下拉。也许你可以有一个过滤器,可以在下拉列表中加载不同的集合,这个过滤器本身可能是一个下拉列表。
答案 1 :(得分:0)
您应该尝试将列表项分类(如果可能)到组中。
例如:
Group A:items
Group B:items
等等......
&安培;然后你可以使用级联下拉列表进行选择。