3
popup pn = new popup();
       pn.Title = "New Message";
       pn.Message = "New Study Received";
       pn.ColorStyle = popupColorStyle.Green;
       UpdatePanel1.Controls.Add(pn);

popup 是我的自定义控件,它显示一个弹出窗口,UpdatePanel1 是一个 ajax 控件。我想在不重新加载整个页面的情况下显示弹出窗口。最后一行向我抛出一个错误,因为“不能直接修改 ID 为‘UpdatePanel1’的 UpdatePanel 的 Controls 属性。要更改 UpdatePanel 的内容,请修改 ContentTemplateContainer 属性的子控件。” 我正在使用 ASP.NET 3.5 ... 谁能知道这个问题

4

1 回答 1

9

错误消息准确地告诉您出了什么问题以及如何解决它。而不是将控件添加到Controls中,您需要将其添加到ContentTemplateContainer.Controls中,即

UpdatePanel1.ContentTemplateContainer.Controls.Add(pn);

MSDN 文档:

ContentTemplateContainer 属性使您能够以编程方式将子控件添加到 UpdatePanel 控件,而无需定义从 ITemplate 接口继承的自定义模板。

于 2012-08-05T18:09:57.000 回答