【发布时间】:2015-08-12 11:56:16
【问题描述】:
好吧,当我想将一些包含 UpdatePanel 的基本用户控件加载到另一个用户控件页面时,我遇到了一个小问题。
设置:
每当用户点击一个按钮时,就会出现一个弹出窗口,其中包含某个人的一些基本信息和一个包含他工作的公司的选项卡。他/她工作的公司数量可以从 1 到 4~,所以我做一个查询,然后为我得到的每个公司添加一个视图到一个多视图,这个视图包含多个简单的用户控件(更新面板内的文本字段)。现在每当我转到该页面时,我都会收到此错误:
无法取消注册 ID 为“UpdatePanel2”的 UpdatePanel,因为它没有在 ScriptManager 中注册。如果从控件树中删除 UpdatePanel 并稍后再次添加,则可能会发生这种情况,这是不受支持的。参数名称:updatePanel
现在我知道这是由动态生成未向 ScriptMaster 注册的 UpdatePanel 引起的常见错误。我无法将 PreInit 事件处理程序添加到添加 UserControls 和 UpdatePanels 的页面,因为它本身就是一个 UserControl。
我的问题是:
我怎样才能以不那么讨厌的方式摆脱这个讨厌的错误,例如不是将 UpdatePanel 添加到 scriptmaster 的硬编码子例程
【问题讨论】:
-
您的页面上是否有 ScriptManager 控件? (msdn.microsoft.com/en-us/library/bb398863.aspx)
-
不,只有母版页有。
-
脚本管理器是否添加在所有更新面板之前,并且在母版页上的内容占位符之前?
-
是的,我已经通过更改用户控件中的 updatePanel id 修复了它
标签: asp.net vb.net updatepanel