【发布时间】:2012-10-04 12:40:58
【问题描述】:
我正在用 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);
但这取代了第一个输出。请告诉我如何附加这些控件?
【问题讨论】:
-
在将控件添加到集合之前,您是否尝试为每个控件指定唯一名称(例如使用时间戳或基于 Panel1.Controls.Count 的 ID)?
-
您的代码实际上是正确的。 Controls.Add 和 Controls.AddAt 都应该完成这项工作。我和阿德里亚诺一起做这个,你确定要向控件添加独特的对象/控件吗?
-
这些控件的类型相同,但内容不同。就像 StackOverflow 上的 cmets 一样。
标签: c# asp.net user-controls append panel