Страницы

Поиск по вопросам

суббота, 6 июля 2019 г.

Оптимизация многостраничных элементов

На странице .aspx есть элемент Wizard. Каждая из страниц, помещенных в него оформлена в виде пользовательского элемента .ascx и этих страниц много. При отладке заметил, что при загрузке самого wizard, вместе с ним загружаются все его страницы, в том числе невидимые. Нельзя ли загружать только видимую страницу? Может есть по-лучше способы реализации многостраничных элементов? Что быстрее работает, меньше ресурсов требует MultiView или Wizard?


Ответ

Особой разницы между двумя этими контролами фактически нет. Wizard более кастомизируемый контрол, позволяющий отобразить прогрессбар. В то время, как MultiView требует его самостоятельной разработки.
Относительно вашего вопроса о произовдительности. Оба эти конторла во время отработки цикла страницы динамически подгружают все свои дочерние элементы. Таким образом во время дебага вы видите все дочерние элементы и, соответственно, все ваши UserControl'ы так же проходят полный цикл загрузки (Init, Load и т.д.). Однако при возвращении страницы сервером клиенту (браузеру), в html-разметке будет срендерен только один из шагов вашего Wizard
Если постоянная загрузка ваших контролов значительно влиятет на производительность, то разумнее их добавлять на страницу динамически, а не статически ложить в Wizard или MultiView, а после фактически их прятать.

Комментариев нет:

Отправить комментарий