我的 MVC3 项目中有 Jquery Select2 DropdownList。通常下拉列表的数据最少为 50000 条记录。记录通过 ViewBag 从 Controller 传递到 View 。当将数据渲染到页面时,需要花费大量时间来加载所有数据。
此外,当我单击下拉菜单时,会出现一些浏览器错误,例如停止脚本编写。我需要知道是否有更好的方法来加载 DropDownList 中的内容而不影响页面加载。我将在此处附加我当前的 Controller 并查看代码。
行动
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
});
最佳答案
下拉列表不应包含 50000 条记录。
这对于 User Experience 来说太糟糕了。
您需要重新考虑您要如何实现目标。例如,如果确实能够加载,用户如何能够使用具有如此多选项的下拉菜单。也许您可以有一个过滤器,可以在下拉列表中加载不同的集合,该过滤器本身可以是一个下拉列表。
关于javascript - 在 MVC3 的 DropdownList 中加载大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13816913/