Вопросы по оптимизации страниц .Net
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


12»»

Вопросы по оптимизации страниц .Net Expand / Collapse
Автор
Сообщение
29.09.2006 9:40
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 31.03.2008 16:02
Сообщ.: 693, Visits: 7 080
Первый вопрос.

На странице есть DataGrid, содержащий несколько тысяч (или даже десятков тысяч записей). При условии, что пользователь категорически отказывается использовать Paging и требует скроллинг, как можно ускорить вывод страницы с таким гридом?

Второй вопрос.

Страница очень "тяжелая". На ней есть с десяток ссылающихся друг на друга панелей в каждой из которых есть десятки контролов. Панели по мере надобности делаются видимыми или невидимыми. Какой другой способ можно выбрать, чтобы достичь такого-же эффекта, но при этом страница поднималась гораздо быстрее.

Третий вопрос.

Если все же страница поднимается 9-15 секунд. Как заставить пользователя не дергаться и спокойно ожидать загрузки. Попытки вывести до начала загрузки надпись "Ждите загрузки" провалилась. Она появляется только непосредственно перед прорисовкой загруженной страницы, как нечто мелькнувшее и непонятное.

Спасибо!
Евгений Боуден

Сообщ. #905070
29.09.2006 12:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421, Visits: 49 251
1) Ajax?

2) не использовать серверные контролы?

3) неправильно значит делаешь - это кстати отдельная тема и не надо все вместе мешать в одну кучу. можно либо после показа сообщения через Ajax загружать основные данные, либо показ сообщения осуществлять на первой странице которая будет редиретиться на вторую - тогда сообщение будет видно - баян

Сообщ. #905077
29.09.2006 13:44
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Надо понять в чем причина долгой загрузки. Данные из БД могут долго запрашиваться (надо использовать кеширование), большой объем html кода (отключаем viewstate, оптизируем html).

Сам по себе DataGrid тяжелый элемент управления, возможно стоит перейти на более простой Repeater. Он потребует больше программирования, но результирущий html будет легче.

Вывод надписи "Подождите, идет загрузка" точно можно. Сейчас нет времени писать это, ближе к вечеру постараюсь написать.

Сообщ. #905086
29.09.2006 17:18
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421, Visits: 49 251
таблица с несколькими десятками тысяч строк по-любому будет долго генериться-отображаться

по-моему это весьма неумно и ненужно

Сообщ. #905105
29.09.2006 17:47
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Согласен. Но там частично можно сгладить ситуация перейдя на таблицу с фиксированной шириной столбцов, к примеру. Тогда таблица будет отображаться по мере получения данных и не надо ждать окончания загрузки.
Сообщ. #905109
03.10.2006 9:59
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 31.03.2008 16:02
Сообщ.: 693, Visits: 7 080
Прошу простить мне мою безграмотность, но что такое Ajax?

Если использовать HTML-controls, но указывать "Run as server control" - это даст какой-то выигрыш в скорости загрузки?

Спасибо!

Спасибо!
Евгений Боуден

Сообщ. #905191
03.10.2006 10:05
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 31.03.2008 16:02
Сообщ.: 693, Visits: 7 080
bazile (29.09.2006)
... перейдя на таблицу с фиксированной шириной столбцов, к примеру. Тогда таблица будет отображаться по мере получения данных и не надо ждать окончания загрузки.

А что такое "таблица с фиксированной шириной столбцов"?

И дополнительный вопрос.

Если сделать большинство (или все) controls с EnabledViewState = False, повлияет ли это на скорость загрузки? А на что еще это может повлиять?

Спасибо!

Спасибо!
Евгений Боуден

Сообщ. #905192
03.10.2006 18:05
Supreme Being

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.

В общем надо пробовать.

Сообщ. #905227