Dynamic AjaxControls を使用して Dynamic UserControls を作成しています。次に、各 UserControls をコレクションに格納します。ポストバックで、コレクション内の UserControls を呼び出して、インターフェイスを再作成します。標準の HTML コントロールのみを使用する場合は機能しますが、AJAX コントロールでは機能しません。PostBack Extender controls may not be registered after PreRender でこのエラーが発生します。これまでのところ、次のことを試しました。
- ページおよびユーザーコントロールの MyBase.OnPreRender(e)
- OnInitのEnsureChildControls()
- MasterPage に ScriptManager を追加しました このようなものはどれも機能していません...
ユーザーコントロール内のコントロールを含むすべてのコントロールを再作成すると、エラーは発生しませんが、ユーザーコントロールのコレクションを呼び出すのではなく、ポストバックを行うのに永遠に時間がかかります。
スタックトレース:
System.Web.UI.ScriptControlManager.RegisterExtenderControl[TExtenderControl] (TExtenderControl extenderControl、コントロール targetControl) で
System.Web.UI.ScriptManager.RegisterExtenderControl[TExtenderControl] (TExtenderControl extenderControl、コントロール targetControl) で
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)