ASP.NET用户控件-以编程方式添加多个实例时出现问题?

ASP.NET用户控件-以编程方式添加多个实例时出现问题?,asp.net,user-controls,web-user-controls,Asp.net,User Controls,Web User Controls,我创建了一个用户控件,它基本上由3个文本框组成。我希望允许用户单击超链接,该超链接将在占位符上添加用户控件的新实例。当我用一个随机数填充其中一个文本框控件时,这似乎起到了作用,每当我单击超链接时,这个随机数都会发生变化。但是,它正在覆盖上一个控件 这是MyPage.aspx上的代码 protected void MyHyperlink_Click(object sender, EventArgs e) { var uc = new MyUserControl(); uc =

我创建了一个用户控件,它基本上由3个文本框组成。我希望允许用户单击超链接,该超链接将在占位符上添加用户控件的新实例。当我用一个随机数填充其中一个文本框控件时,这似乎起到了作用,每当我单击超链接时,这个随机数都会发生变化。但是,它正在覆盖上一个控件

这是MyPage.aspx上的代码

protected void MyHyperlink_Click(object sender, EventArgs e)
{
     var uc = new MyUserControl();
     uc = (MyUserControl)LoadControl("~/path/to/my/usercontrol.ascx");
     placeHolderCtrl.Controls.Add(uc);
}
基本上,我需要知道的是如何让控件在彼此下面添加不同的实例,因为每次似乎只有一个控件被覆盖


谢谢。

问题在于回发后,先前添加的控件不会添加到占位符中。应在每次回发时添加动态添加的控件。我的建议是在变量中存储一个计数器,在页面加载时,根据此计数器再次添加web控件。

我必须在会话中存储计数,但它似乎添加了与我单击的一样多的控件。实际上,我更喜欢Viewstate,它将仅在一个页面上使用。是的,我将更改为使用此,一开始我只是不确定如何确定它是第一次加载页面的时间。然而,我已经明白了!谢谢