2008-12-10 3 views
1

У меня есть MasterPage, с моим Usercontrol внутри div.Как остановить выполнение, входящее в UserControls PageLoad?

Я могу установить visible = false для UserControl и для содержащего div, и это отлично работает. Но Страница_Load UserControl всегда попадает.

Это по дизайну, или я не знаю, как остановить выполнение страницы в методе Page_Load UserControl.

ответ

1

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

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

Другой вариант заключается в том, чтобы завершить установку времени в методе события OnPreRender.

1

Когда вы добавляете UserControl на страницу, он будет создан и добавлен в коллекцию Page.Controls каждый раз, когда страница будет выполнена. Когда вы устанавливаете Visible на false, он в основном просто замыкает передачу html элемента управления, чтобы он не отображался на странице.

Если есть некоторая дорогостоящая операция, которую ваш элемент управления выполняет в «Page_Load», я бы отключил свойство Visible, чтобы обойти эту операцию.

Если элемент управления не был создан, как вы могли бы сказать, что он невидим?

Смежные вопросы