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

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

我的 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/

相关文章:

asp.net-mvc - 如何从 asp.net mvc 应用程序传播身份以访问 tfs 服务器?

javascript - javascript中相同对象名称的总和

javascript - 阐明 <form action ="?"method ="post"> which submits to string.match ("site:mysite.net")

asp.net - 自动映射器-映射器已初始化错误

asp.net-mvc - 页面 Controller 模式到底是什么?

javascript - 我什么时候应该将代码编写为 jQuery 插件

javascript - 获取文档头中脚本和样式的url

javascript - HTML 5 Canvas |根据文本行数调整 Canvas 的高度?

javascript - 如何使用 javascript 对象的 get 和 set 函数

javascript - 发送后无法设置 header 。 (nodejs错误)