|
|
|
Supreme Being
      
участник
Last Login: 31.03.2008 16:02
Сообщ.: 693,
Visits: 7 080
|
|
| Первый вопрос. На странице есть DataGrid, содержащий несколько тысяч (или даже десятков тысяч записей). При условии, что пользователь категорически отказывается использовать Paging и требует скроллинг, как можно ускорить вывод страницы с таким гридом? Второй вопрос. Страница очень "тяжелая". На ней есть с десяток ссылающихся друг на друга панелей в каждой из которых есть десятки контролов. Панели по мере надобности делаются видимыми или невидимыми. Какой другой способ можно выбрать, чтобы достичь такого-же эффекта, но при этом страница поднималась гораздо быстрее. Третий вопрос. Если все же страница поднимается 9-15 секунд. Как заставить пользователя не дергаться и спокойно ожидать загрузки. Попытки вывести до начала загрузки надпись "Ждите загрузки" провалилась. Она появляется только непосредственно перед прорисовкой загруженной страницы, как нечто мелькнувшее и непонятное.
Спасибо! Евгений Боуден
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
1) Ajax?
2) не использовать серверные контролы?3) неправильно значит делаешь - это кстати отдельная тема и не надо все вместе мешать в одну кучу. можно либо после показа сообщения через Ajax загружать основные данные, либо показ сообщения осуществлять на первой странице которая будет редиретиться на вторую - тогда сообщение будет видно - баян
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Надо понять в чем причина долгой загрузки. Данные из БД могут долго запрашиваться (надо использовать кеширование), большой объем html кода (отключаем viewstate, оптизируем html). Сам по себе DataGrid тяжелый элемент управления, возможно стоит перейти на более простой Repeater. Он потребует больше программирования, но результирущий html будет легче. Вывод надписи "Подождите, идет загрузка" точно можно. Сейчас нет времени писать это, ближе к вечеру постараюсь написать.
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
| таблица с несколькими десятками тысяч строк по-любому будет долго генериться-отображаться по-моему это весьма неумно и ненужно
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Согласен. Но там частично можно сгладить ситуация перейдя на таблицу с фиксированной шириной столбцов, к примеру. Тогда таблица будет отображаться по мере получения данных и не надо ждать окончания загрузки.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 31.03.2008 16:02
Сообщ.: 693,
Visits: 7 080
|
|
| Прошу простить мне мою безграмотность, но что такое Ajax? Если использовать HTML-controls, но указывать "Run as server control" - это даст какой-то выигрыш в скорости загрузки? Спасибо!
Спасибо! Евгений Боуден
|
|
|
|
|
Supreme Being
      
участник
Last Login: 31.03.2008 16:02
Сообщ.: 693,
Visits: 7 080
|
|
bazile (29.09.2006) ... перейдя на таблицу с фиксированной шириной столбцов, к примеру. Тогда таблица будет отображаться по мере получения данных и не надо ждать окончания загрузки.А что такое "таблица с фиксированной шириной столбцов"?
И дополнительный вопрос. Если сделать большинство (или все) controls с EnabledViewState = False, повлияет ли это на скорость загрузки? А на что еще это может повлиять? Спасибо!
Спасибо! Евгений Боуден
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
evgenybe (03.10.2006) А что такое "таблица с фиксированной шириной столбцов"?Это таблица у которой в стилях указано свойство table-layout:fixed. Подробности в статье Enhancing Table Presentation (раздел Table Layout). evgenybe (03.10.2006) Если сделать большинство (или все) controls с EnabledViewState = False, повлияет ли это на скорость загрузки? А на что еще это может повлиять?Это уменьшит размер страницы и может увеличить скорость загрузки. Отказ от ViewState также может затронуть функицональность серверных элементов управления. В особенности DataGrid. Надо будет и при PostBack событиях выполнять привязку данных (databinding). Кроме того может понадобиться организовывать ручное сохранения некоторых элементов управления, если используется свойство Disabled. В общем надо пробовать.
|
|
|
| | |