我使用asp.net 4和c#。 我想在我的页面上使用AJAX Control UpdatePanel。
我在文档中读到了
UpdatePanel controls can be added declaratively or programmatically.
但我找不到任何有关如何以编程方式在页面上添加UpdatePanel控件的信息。
我的问题:如何以编程方式将UpdatePanel控件添加到页面?(请注意我需要在Web窗体上添加实际的更新控件而不是在UpdatePanel内添加控件) 非常感谢!
答案 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";
希望这有助于=]