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

时间:2009-09-08 21:10:16

标签: asp.net user-controls web-user-controls

我创建了一个用户控件,它基本上由3个文本框组成。我想允许用户单击一个超链接,该超链接将在PlaceHolder上添加用户控件的新实例。这似乎是有效的,因为我用一个随机数填充其中一个文本框控件,每当我点击超链接时它都会改变。但是,它会覆盖以前的控件。

继承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);
}

基本上我需要知道的是如何让控件在彼此之下添加不同的实例,因为它似乎每次都会被1个控件覆盖。

感谢。

1 个答案:

答案 0 :(得分:2)

问题出在回发之后,之前添加的控件不会添加到占位符中。应在每次回发时添加动态添加的控件。我的建议是将计数器存储在变量和页面加载中,然后根据此计数器再次添加您的Web控件。