2009-09-08 63 views
3

我創建了一個基本上由3個文本框組成的用戶控件。我想讓用戶點擊一個超鏈接,將一個新的用戶控件實例添加到PlaceHolder。這似乎是工作,因爲我用一個隨機數字填充文本框控件之一,該隨機數字隨我點擊超鏈接而改變。但是,它覆蓋了以前的控件。ASP.NET用戶控件 - 以編程方式添加多個實例的問題?

繼承人的代碼上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個控制是每次覆蓋。

謝謝。

回答

2

問題是回發後,您以前添加的控件不會添加到佔位符。應在每次回發中添加動態添加控件。我的建議是將一個計數器存儲在一個變量中,並在您的頁面加載時,根據此計數器再次添加您的Web控件。

+0

我不得不將計數存儲在會話中,但似乎增加了儘可能多的控件,因爲我點擊了。 – James 2009-09-08 21:47:52

+0

其實我更喜歡Viewstate,它只會在一個頁面上使用。 – Canavar 2009-09-08 22:06:08

+0

是的,我將改變使用這個,我剛開始並不確定如何能夠確定何時第一次加載頁面。不過,我已經明白了!謝謝。 – James 2009-09-09 07:37:03

相關問題