UpdatePanel代码隐藏错误“页面不能为空”

时间:2010-04-16 14:20:15

标签: asp.net updatepanel

我正在尝试在代码隐藏中为我的控件创建一个updatepanel。但是我得到了以下错误:

页面不能为空。请确保在ASP.NET请求的上下文中执行此操作。

我的代码:

List<Control> novoControl = new List<Control>();
control.Controls.ForEach<Control>(c => novoControl.Add(c));

control.Controls.Clear(); // This control is a contentplaceholder of my masterpage

control.Controls.Add(IcpScriptManager); //Add ScriptManager in the page

foreach (Control item in novoControl)
{
   UpdatePanel up = new UpdatePanel();
   up.ID = "up_" + item.ID;
   up.ChildrenAsTriggers = true;

   up.UpdateMode = UpdatePanelUpdateMode.Conditional;

   up.ContentTemplateContainer.Controls.Add(item);

   control.Controls.Add(up); //ERROR happens here
}

任何想法??

谢谢, 费尔南多

1 个答案:

答案 0 :(得分:0)

解决。我的坏=)。在我需要之前在页面中放置Contentplaceholder控件。

Form.Controls.Add(对照);

然后我将“control.Controls.Add(up)”改为“control.Controls.AddAt(i,up)”,用updatepanel控件覆盖没有updatepanel的控件,一切运行良好。

谢谢,费尔南多