Я создаю Dynamic UserControls с динамическими AjaxControls. Затем я храню каждый из пользовательских элементов управления в коллекции. При обратной передаче я вызываю пользовательские элементы управления в коллекции для повторного создания интерфейса. Это работает, если я использую только стандартные элементы управления HTML, но НЕ работает с элементами управления AJAX. Я получаю эту ошибку на PostBack Элементы управления расширителем могут быть не зарегистрированы после PreRender . До сих пор я пробовал следующее:
- MyBase.OnPreRender (e) на странице и контроль пользователя
- EnsureChildControls () в OnInit
- Добавлен ScriptManager в MasterPage
Ничего из этого не работает ...
Если я воссоздаю все элементы управления, включая те, что находятся внутри usercontrol, то я не получаю никакой ошибки, однако для выполнения обратной передачи требуется вечность, а не просто вызов коллекции UserControls.
Трассировка стека:
в System.Web.UI.ScriptControlManager.RegisterExtenderControl [TExtenderControl] (TExtenderControl extenderControl, Control targetControl)
в System.Web.UI.ScriptManager.RegisterExtenderControl [TExtenderControl] (TExtenderControl extenderControl, Control targetControl)
в System.Web.UI.ExtenderControl.RegisterWithScriptManager ()
в System.Web.UI.ExtenderControl.OnPreRender (EventArgs e)
в AjaxControlToolkit.ExtenderControlBase.OnPreRender (EventArgs e) в
d: \ hg \ act \ Server \ AjaxControlToolkit \ ExtenderBase \ ExtenderControlBase.cs: строка 365
в AjaxControlToolkit.DropDownExtender.OnPreRender (EventArgs e) в d: \ hg \ act \ Server \ AjaxControlToolkit \ DropDown \ DropDownExtender.cs: строка 157
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Control.PreRenderRecursiveInternal ()
в System.Web.UI.Page.ProcessRequestMain (логический includeStagesBeforeAsyncPoint, логический includeStagesAfterAsyncPoint)