如何以编程方式将UpdatePanel控件添加到页面?

时间:2011-09-23 07:15:55

标签: c# asp.net ajax updatepanel

我使用asp.net 4和c#。 我想在我的页面上使用AJAX Control UpdatePanel。

我在文档中读到了

UpdatePanel controls can be added declaratively or programmatically. 

但我找不到任何有关如何以编程方式在页面上添加UpdatePanel控件的信息。

我的问题:如何以编程方式将UpdatePanel控件添加到页面?(请注意我需要在Web窗体上添加实际的更新控件而不是在UpdatePanel内添加控件) 非常感谢!

3 个答案:

答案 0 :(得分:5)

 protected override void OnInit(EventArgs e)
    {

        UpdatePanel updatePanel = new UpdatePanel();
        //updatePanel.ContentTemplateContainer.Controls.Add(linkButton); if want to add control in UpdatePanel
        form1.Controls.Add(updatePanel);
        base.OnInit(e);
    }

更多:

Dynamically Adding an UpdatePanel to Your Page

http://asp.net/AJAX/Documentation/Live/mref/C_System_Web_UI_UpdatePanel_ctor.aspx

答案 1 :(得分:2)

首先添加ScriptManager,然后添加UpdatePanel

例如。

  ScriptManager myScriptManager = new ScriptManager(); 
  UpdatePanel updatePanel1 = new updatePanel();
  this.Controls.Add(myScriptManager);
  this.Controls.Add(updatePanel1);

然后设置事件处理程序。

只是添加

你的下一个问题可能是为什么在回发后你的UpdatePanel消失了。答案是您以编程方式添加的控件,您必须在每次回发时添加它们。

答案 2 :(得分:0)

我想你可以试试这个(未经测试):

UpdatePanel updPanel = new UpdatePanel();
divFields.Controls.Add(FreeText); // where divFields is the id of a div

您还可以在添加ID之前为控件提供ID或其他属性,如:

updPanel.ID = "updPnlTest";

希望这有助于=]