2010-02-16 2 views
4

Как отключить пользовательский контроль, чтобы страница_Load не была выполнена? Enabled не существует для usercontrol и Visible не работает, он просто скрывает usercontrol, но загрузка страницы выполняется.disable usercontrol

+0

удачи по вашей проблеме? –

ответ

3

ли это:

Добавьте это к началу страницы <% @ Reference Control = "~/MyControl.ascx" %>

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

ControlPlaceHolder.Controls.Add (Page.LoadControl («~/MyControl.ascx»))

Таким образом, элемент управления будет загружен только тогда, когда вам это нужно.

+1

Если вам нужно ViewState отключенного пользовательского элемента управления, это не подходит. –

0

Возможно, вы удалите элемент управления до того, как рендеринг начнется с this.Controls.Remove(xxx) в preInit, но вы хотели бы, чтобы это происходило последовательно. НАПРИМЕР. если вы удалите элемент управления при первом обслуживании запроса, а затем разрешите его включить при обратном вызове, то может иметь проблему десериализации видового пространства. может быть. стоит выстрел