无法直接修改ID为“UpdatePanel1”的UpdatePanel的Controls属性

时间:2012-08-05 18:03:35

标签: c# asp.net ajaxcontroltoolkit

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

popup是我的自定义控件,显示弹出窗口,UpdatePanel1是ajax控件。我想显示弹出窗口而不重新加载整页。最后一行抛出一个错误,因为“无法直接修改UpdatePanel的ID属性'UpdatePanel1'的控件属性。要更改UpdatePanel的内容,请修改ContentTemplateContainer属性的子控件。”我正在使用ASP.NET 3.5 ...任何人都可以知道这个问题

1 个答案:

答案 0 :(得分:9)

错误消息告诉您确切的错误以及如何解决问题。不是将控件添加到Controls,而是需要将它添加到ContentTemplateContainer.Controls,即

UpdatePanel1.ContentTemplateContainer.Controls.Add(pn);

来自MSDN documentation:

  

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