2

我正在使用动态 AjaxControls 创建动态用户控件。然后我将每个用户控件存储在一个集合中。在回发时,我记得集合中的 UserControls 以重新创建界面。如果我只使用标准 HTML 控件但不适用于 AJAX 控件,它就可以工作。我在 PostBack Extender 控件可能未在 PreRender 之后注册时收到此错误。到目前为止,我已经尝试了以下方法:

  1. 页面和用户控件中的 MyBase.OnPreRender(e)
  2. OnInit 中的 EnsureChildControls()
  3. 将 ScriptManager 添加到 MasterPage 这些东西都不起作用...

如果我重新创建所有控件,包括用户控件内的控件,那么我不会收到任何错误,但是它需要永远进行回发,而不是仅仅调用 UserControls 的集合。

堆栈跟踪:

在 System.Web.UI.ScriptControlManager.RegisterExtenderControl[TExtenderControl](TExtenderControl 扩展控制,控制目标控制)

在 System.Web.UI.ScriptManager.RegisterExtenderControl[TExtenderControl](TExtenderControl 扩展控制,控制目标控制)

在 System.Web.UI.ExtenderControl.RegisterWithScriptManager()

在 System.Web.UI.ExtenderControl.OnPreRender (EventArgs e)

在 d:\hg\act\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:line 365 中的 AjaxControlToolkit.ExtenderControlBase.OnPreRender(EventArgs e)

在 d:\hg\act\Server\AjaxControlToolkit\DropDown\DropDownExtender.cs:line 157 中的 AjaxControlToolkit.DropDownExtender.OnPreRender(EventArgs e)

在 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)

4

0 回答 0