как уменьшить размер веб-страницы с помощью множества элементов управления - PullRequest
1 голос
/ 05 ноября 2011

Я работаю над приложением asp.net, которое позволяет пользователю обновлять данные в течение ряда дней.Данные представлены в виде таблицы:

Дата - Актив - Активная акция

04/11/11 - да - список с 360 записями

05/11/ 11 - да - список с 360 записями

06/11/11 - да - список с 360 записями

...

04/02/12 - да -список с 360 записями

Теперь таблица может содержать от 90 до 700 строк (например, разрешить запись на 90-700 дней), а поле выбора содержит 360 записей (12 000 символов).Таким образом, для 3-месячного отображения я получаю размер страницы 90 * 12 000 = 1 МБ, и это увеличивается до 8,4 МБ для 2-летнего отображения.

Я вижу, что проблема заключается во множестве повторяющихся списков.Я подумал о следующих подходах, возможно, люди могут предложить улучшения или уточнения:

  • При каждом щелчке каждый список заполняется самостоятельно (уменьшает начальный размер страницы, но пользователю, возможно, придется ждать раскрывающегося списка для заполнения)1022 *
  • Имеют один «настоящий» список и множество «поддельных» списков.когда пользователь нажимает на «фальшивый» список, затем отображается «настоящий» список, выбранное значение затем сохраняется в скрытом поле
  • , чтобы клиент очистил данные, чтобы не было более 300 вариантовв каждой коробке

Ответы [ 3 ]

1 голос
/ 05 ноября 2011

Если параметры одинаковы для каждого списка, я бы определенно предложил автоматически заполнять JavaScript при нажатии.Ранее я использовал это решение по той же самой причине, и нет заметной задержки при отображении списка выбора, и исходная страница загружается намного быстрее.

Также Firefox имел ошибку при обработке лотовбольших элементов select, и javascript заполняет, когда это необходимо, решение также обходит это.

0 голосов
/ 05 ноября 2011

Я бы ограничил ввод до одного месяца за один раз и сохранял бы его в памяти, пока не будет готов завершить транзакцию обратно в БД.Я бы также рассмотрел выбор управления для этого, то есть вместо списка рассмотрим что-то более интуитивное;возможно, календарь с текстовыми полями - вы можете использовать вкладки и переходить от одного месяца к следующему.

0 голосов
/ 05 ноября 2011

Я бы пошел с чем-то вроде второго варианта. Вы также можете сначала заполнить первый, а затем скопировать содержимое в другие, используя JavaScript.

Но в противном случае - кажется, вам нужно решить некоторые проблемы с юзабилити, кто будет использовать такие формы монстров !? :)

...