aspx/html 中的 50000 个复选框太重了 - 还有其他选择吗?
50000 checkboxes in aspx/html too heavy -any alternative?
要求在一个 aspx 页面中有 50000 个复选框。
目前我已经在 aspx 中实现了,页面很慢,选择很慢,有时应用程序挂起。负载太大了。
当前页面大小为 10 mb,我也需要减小它。
我正在寻找一种替代方法,例如 jquery 或者需要记住我需要使用复选框的方法。
我尝试过但无济于事的事情:
- ASPX 列表框
- Html div- 复选框
- 基础设施
- iframe.
如有任何答复,我们将不胜感激。
如果您尝试 select 使用代码中的代码来选中复选框,那将会很慢,因为它是前端应该发生的事情的后端解决方案。即使您设置分页以便一次只显示 50 个复选框,如果您在后面的代码中进行检查,它仍然会很慢。要使用 jQuery 的 select 复选框,这是一个更快的解决方案,请尝试这样的事情:
$(document).ready(function () {
$('#body').on('click', 'input[type=submit]#uxSelectAll', function () {
$(this).toggleClass("checked");
var isChecked = $(this).hasClass("checked");
$('input[type=submit]#uxSelectAll').val(isChecked ? "Unselect All" : "Select All");
$(this).prev().find(":checkbox").prop("checked", isChecked);
return false;
});
});
这里有一个 Select 全部按钮,可在单击时选中和取消选中复选框。您可以 select 使用 select 或像这样的复选框:
$(this).find(":checkbox").prop("checked", true);
注意:此问题假设您使用的是复选框。
首先,如果您要渲染 50k checkboxes/rows,我建议您可以对设计进行一些重构?也许您可以考虑更高级别的行分组,并使用更少数量的复选框更新相关 entities/rows?
的集合
但如果您确实需要 50k 个复选框,您可能需要考虑分页以将它们分成合理数量的页面。
因此,正如您所说,您使用的是 aspx 页面,我假设它是一个 Web 表单应用程序。如果是这种情况,您可以使用 GridView 控件为您管理分页(http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/gridview.aspx 处的示例,link 处也有一个分页示例)。
要求在一个 aspx 页面中有 50000 个复选框。 目前我已经在 aspx 中实现了,页面很慢,选择很慢,有时应用程序挂起。负载太大了。 当前页面大小为 10 mb,我也需要减小它。
我正在寻找一种替代方法,例如 jquery 或者需要记住我需要使用复选框的方法。
我尝试过但无济于事的事情:
- ASPX 列表框
- Html div- 复选框
- 基础设施
- iframe.
如有任何答复,我们将不胜感激。
如果您尝试 select 使用代码中的代码来选中复选框,那将会很慢,因为它是前端应该发生的事情的后端解决方案。即使您设置分页以便一次只显示 50 个复选框,如果您在后面的代码中进行检查,它仍然会很慢。要使用 jQuery 的 select 复选框,这是一个更快的解决方案,请尝试这样的事情:
$(document).ready(function () {
$('#body').on('click', 'input[type=submit]#uxSelectAll', function () {
$(this).toggleClass("checked");
var isChecked = $(this).hasClass("checked");
$('input[type=submit]#uxSelectAll').val(isChecked ? "Unselect All" : "Select All");
$(this).prev().find(":checkbox").prop("checked", isChecked);
return false;
});
});
这里有一个 Select 全部按钮,可在单击时选中和取消选中复选框。您可以 select 使用 select 或像这样的复选框:
$(this).find(":checkbox").prop("checked", true);
注意:此问题假设您使用的是复选框。
首先,如果您要渲染 50k checkboxes/rows,我建议您可以对设计进行一些重构?也许您可以考虑更高级别的行分组,并使用更少数量的复选框更新相关 entities/rows?
的集合但如果您确实需要 50k 个复选框,您可能需要考虑分页以将它们分成合理数量的页面。
因此,正如您所说,您使用的是 aspx 页面,我假设它是一个 Web 表单应用程序。如果是这种情况,您可以使用 GridView 控件为您管理分页(http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/gridview.aspx 处的示例,link 处也有一个分页示例)。