扩展程序控件可能未在PreRender之前注册

时间:2012-06-27 15:17:01

标签: c# asp.net ajax ajaxcontroltoolkit

以下代码位于Login.aspx文件中。以前代码运行非常顺利。 但是,添加ajax ModalPopup扩展程序时出现此错误。

我正在尝试在用户单击“忘记密码”超链接时创建弹出窗口。

以前,我曾在另一个aspx文件中尝试过ajax日历和balloonpopup,但效果很好。只有modalpopup扩展器有错误。

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

堆栈追踪:

[InvalidOperationException: Extender controls may not be registered before PreRender.]
   System.Web.UI.ScriptControlManager.RegisterExtenderControl(TExtenderControl extenderControl, Control targetControl) +442081

这是Login.aspx文件中的代码:

<asp:ScriptManager ID="ScriptManager2" runat="server"> </asp:ScriptManager>
<asp:HyperLink ID="HyperLink2" runat="server">Forget Password</asp:HyperLink>

<asp:ModalPopupExtender ID="HyperLink2_ModalPopupExtender" runat="server" 
        Enabled="True" TargetControlID="HyperLink2" 
        PopupControlID="Panel1">
</asp:ModalPopupExtender>

<asp:Panel ID="Panel1" runat="server"> Show pop Up here! </asp:Panel>

我的代码出了什么问题?我把它与来自互联网的示例代码进行了比较,它非常相似。

1 个答案:

答案 0 :(得分:5)

可能导致此问题的一个原因是您错过了

base.OnPreRender(e);

如果您已在页面中覆盖它。