PreRender之后可能无法注册脚本控件

时间:2011-03-02 14:33:32

标签: asp.net ajax

我在我的应用程序中使用Ajax Comboboxes。回发后,在page_load上动态重新创建控件。

在运行应用程序时,从ajax组合框中选择项目时,我一直收到此错误。

  

Microsoft JScript运行时错误:Sys.WebForms.PageRequestManagerServerErrorException:PreRender之后可能无法注册脚本控件。

我的Master_Page ......

<form runat="server">
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" 
     runat="server" EnablePageMethods="True">
</asp:ToolkitScriptManager>

我的内容页面

Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)
    MyBase.OnPreRender(e)
End Sub

我已根据其他帖子完成了上述方法,但仍无法解决问题。我一定要错过一些简单的东西,我希望如此。 如何解决这个错误?

2 个答案:

答案 0 :(得分:1)

我发现如果您在Session或Cache中存储AJAX控件并尝试在Page_Load上重新创建它们,您将收到Script控件错误。仅供参考,在会话中存储标准asp.net控件并重新创建工作正常。

以下是一些有助于更好地了解问题的链接。 [链接1] http://forums.asp.net/t/1649461.aspx [链接2] http://www.telerik.com/community/forums/aspnet-ajax/docking/script-controls-may-not-be-registered-after-prerender.aspx

如果您没有使用ajax控件,可能还有其他原因,例如将脚本管理器添加到母版页。

答案 1 :(得分:0)

尝试使用Page_PreRender方法而不是覆盖OnPreRender方法