Визуализируется ли пользовательский элемент управления (ascx) независимо от того, является ли свойство видимости истинным или ложным - PullRequest
1 голос
/ 30 октября 2009

Отображается ли пользовательский элемент управления (ascx) независимо от того, является ли свойство видимости истинным или ложным.

Похоже, что когда для некоторых элементов управления видимость установлена ​​на false, они не визуализируются, но когда я установил скрытие элемента управления ascx со страницы aspx, на которой он находится, код все равно проходит через кодовую привязку ascx, несмотря на то, что он помечается как невидимый.

Есть ли способ заставить мой ascx не отображать, если видимость помечена как ложная?

Это нормальное поведение?

Ответы [ 2 ]

3 голосов
/ 30 октября 2009

Если видимость установлена ​​в false, ascx все еще проходит жизненный цикл страницы. HTML не будет сгенерирован, поэтому он не отображается. Событие Load запускается, но предварительная визуализация, вероятно, не выполняется.

3 голосов
/ 30 октября 2009

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

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

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

...