2012-08-05 75 views
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控件。我想顯示彈出窗口而不重新加載整個頁面。最後一行會引發錯誤,因爲「UpdatePanel的控件屬性'UpdatePanel1'無法直接修改。要更改UpdatePanel的內容,請修改ContentTemplateContainer屬性的子控件。我正在使用ASP.NET 3.5 ...任何人都可以知道問題帶有UpdatePanel1 ID的UpdatePanel的Controls屬性不能直接修改

回答

8

錯誤消息告訴你到底什麼是錯的,以及如何解決它。而不是增加了控制控件,您需要將其添加到ContentTemplateContainer.Controls,即

UpdatePanel1.ContentTemplateContainer.Controls.Add(pn); 

MSDN documentation:

的ContentTemplateContainer屬性,可以編程 添加子控件到UpdatePanel控件而不必定義從ITemplate接口繼承的定製模板 。