50000 чекбоксов в aspx/html слишком тяжелая - какая альтернатива?

Требуется наличие 50000 флажков на странице aspx. В настоящее время я реализовал это в aspx, страница медленная и выбор очень медленный, иногда приложение зависает. Нагрузка слишком большая. В настоящее время размер страницы составляет 10 мегабайт, мне тоже нужно это уменьшить.

Я ищу альтернативный подход, такой как jquery или что-то еще, помня, что мне нужно будет использовать флажки.

Вещи, которые я пробовал, но это не помогло:

  • ASPX список
  • HTML div- флажок
  • Infragistics
  • Iframe.

Был бы признателен за любой ответ.

2 ответа

Решение

Если вы пытаетесь установить флажки, используя код в своем коде, это будет медленным, потому что это внутреннее решение для того, что должно происходить во внешнем интерфейсе. Даже если вы настроите разбиение на страницы, чтобы отображать только 50 флажков за раз, это все равно будет медленным, если вы выполняете проверку в приведенном ниже коде. Чтобы установить флажки с помощью jQuery, который является гораздо более быстрым решением, попробуйте что-то вроде этого:

$(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;
    });
});

Здесь у вас есть кнопка "Выбрать все", которая устанавливает и снимает флажки при нажатии. Вы можете установить флажки с помощью селектора следующим образом:

$(this).find(":checkbox").prop("checked", true);

Примечание. Этот вопрос предполагает, что вы используете в качестве флажков.

Во-первых, если вы визуализируете 50k флажков / строк, я бы посоветовал, что можно сделать какой-то рефакторинг в дизайне? Может быть, вы могли бы рассмотреть группы строк более высокого уровня и иметь меньшее количество флажков для обновления коллекции связанных сущностей / строк?

Но если вам нужны флажки 50k, вы можете рассмотреть разбиение на страницы, чтобы разделить их на страницы в разумных количествах.

Итак, как вы сказали, что используете страницу aspx, я предполагаю, что это приложение веб-форм. Если это так, вы можете использовать элемент управления GridView для управления нумерацией страниц (примеры на http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/data/gridview.aspx, также есть пример подкачки страниц). по этой ссылке).

Другие вопросы по тегам