2

以下代码位于 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>

我的代码有什么问题?我已经将它与互联网上的示例代码进行了比较,它非常相似。

4

1 回答 1

6

可能导致这种情况的一个原因是您缺少

base.OnPreRender(e);

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

于 2013-02-21T13:58:50.233 回答