0

我正在用 ASP.NET 开发一个动态网站。作为试验,我尝试了如下所示的代码,它为 Panel1 添加了一些控件。当用户第一次单击一个按钮时,控件被添加到面板中,但是当用户第二次单击同一个按钮时,以前的控件被替换为新的控件。但是我希望每次用户单击按钮时控件一个接一个地附加。代码是这样的:

Control c=Page.LoadControl("DData.ascx");
Panel1.Controls.Add(c);

我也试过

Control c=Page.LoadControl("DData.ascx");
Panel1.Controls.AddAt(Panel1.Controls.Count,c);

但这取代了第一个输出。请告诉我如何附加这些控件?

4

2 回答 2

0

如您所料,这会附加一个控件:

Control c = Page.LoadControl("DData.ascx");
Panel1.Controls.Add(c);

您可以通过这种方式添加任意数量的控件。

但是,您需要以某种持久/有状态方式(数据库、会话、 ViewState等)跟踪您正在添加的控件。

每次页面加载时都需要重建控件树。

查看我对类似问题的回答:

于 2012-10-14T08:29:22.097 回答
0

可能是关于asp.net页面的生命周期。每次页面加载时,它都会返回初始状态。按钮单击事件在页面加载后处理,您在页面上只有一个控件。请查看Button 以在每次单击时动态添加控件

于 2012-10-14T08:49:04.627 回答