Рекомендации по эффективному использованию мастера ASP.NET

Веб-приложение, созданное нашей группой, использует элемент управления ASP.NET Wizard. Каждый шаг мастера содержит соответствующий пользовательский элемент управления UserControl.

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

Итак ... есть ли здесь кто-нибудь, кто проделал большую работу с элементом управления Wizard и может дать некоторые рекомендации о том, как его правильно использовать, и не дать ему загружать слишком много мусора на каждом шаге?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
467
3

Ответы 3

Одна вещь, которая может вам немного помочь, - это не помещать какой-либо код в функцию Page_Load UserControls, а вместо этого помещать тот же код в ее Page_PreRender. Это очень важно при использовании MultiView и, вероятно, применимо и к мастеру.

У mspmsp есть хорошая рекомендация по PreRender, еще один вариант, который я заметил ранее, - просто переместить весь код конфигурации внутри элемента управления в метод ConfigureControl.

Затем при переключении представлений вы можете вызвать метод ConfigureControl () для явного создания / загрузки вашего элемента управления. У него та же цель, но, на мой взгляд, он помогает облегчить понимание кода.

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

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