将用户控件动态添加到页面时出现UpdatePanel错误

时间:2015-08-12 11:56:16

标签: asp.net vb.net updatepanel

好吧,当我想将一些包含UpdatePanel的基本用户控件加载到另一个用户控件的页面时,我有一个小问题。

设置:

每当用户点击某个按钮时,弹出窗口会显示某个人的某些基本信息,以及包含他所在公司的标签。他/她工作的公司数量可以从1到4~,所以我对每个公司进行查询,我将视图添加到多视图,此视图包含多个简单的用户控件(更新面板内的文本字段)。现在每当我进入页面时都会收到此错误:

  

无法使用ID' UpdatePanel2'取消注册UpdatePanel因为它没有在ScriptManager中注册。如果UpdatePanel已从控制树中删除并稍后再次添加(可能不受支持),则可能会发生这种情况。参数名称:updatePanel

现在我知道这是一个常见错误,这是由于动态生成UpdatePanel而未向ScriptMaster注册的。我无法在页面中添加PreInit事件处理程序,因为它是UserPatrol本身,因此将UserControls添加到UpdatePanels。

我的问题是:

我怎样才能以一种不那么恶劣的方式摆脱这种令人讨厌的错误,例如不是将UpdatePanel添加到scriptmaster

的硬编码子例程

2 个答案:

答案 0 :(得分:1)

您可以在用户控件中定义要添加的功能。我在过去做了同样的事情,在我的用户控件中添加了以下内容。

override protected void OnInit(EventArgs e) {
 // your code here
}

答案 1 :(得分:0)

在UpdatePanel之前在MasterPage上添加ScriptManager。而你的updatePanel有点令人困惑,所以也可能会改变它。 :)