Почему каждый элемент управления похож на отдельную страницу на нашей странице регистрации? - PullRequest
0 голосов
/ 30 апреля 2009

Для процесса регистрации у нас есть 5 разных страниц, которые разработчик поместил на одной странице (каждый из 5 разделов - это пользовательский контроль).

Одновременно установлен только один элемент управления.

Кажется, что событие page_load каждого элемента управления запускается одновременно.

Это проблема дизайна или ожидаемое поведение?

Ответы [ 4 ]

1 голос
/ 30 апреля 2009

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

0 голосов
/ 30 апреля 2009

Я не думаю, что они загружены "в параллель". они просто очень быстро за другим.

отключить все по умолчанию и включить их один за другим на странице.
и только выполнять свои собственные элементы pageLoad, если они включены.

С другой стороны, я бы настоятельно рекомендовал лишить вас регистрации. 5 страниц информации никогда не нужны, и просто пугает возможных новых пользователей.

0 голосов
/ 30 апреля 2009

Ожидается, что он вызывает Load для каждого элемента управления по очереди.

Независимо от того, является ли элемент управления видимым или нет, он все еще обрабатывается на сервере.

0 голосов
/ 30 апреля 2009

Событие загрузки будет запущено для всех элементов управления на странице в одной и той же точке жизненного цикла страницы, да. Предполагается, что каждый элемент управления может обрабатывать (или не обрабатывать) событие и выполнять такие действия, как получение данных из базы данных и т. Д. И т. П.

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

 public yadda yadda yadda OnLoad( ... ) {
    if(!this.Visible) return;
    //...
 }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...