2011-10-21 29 views
2

即時通訊設法動態加載一個aspx頁面上的usercontrol但它的作品,但我得到回傳問題?我在usercontrol上有一個圖像按鈕,我想要顯示圖像,但是當我點擊按鈕時,頁面刷新並且不顯示圖像?我有aspx頁面和後臺代碼的佔位符,我有這樣的:動態加載usercontrols - 回發問題

protected void Page_Load(object sender, EventArgs e) 
{  

    if (!IsPostBack) 
    { 
      Control uc = Page.LoadControl("~/UserControls/Mycontrol.ascx"); 
      placeholder1.Controls.Add(uc); 

    } 
} 

我是否需要做一些page_preinit或page_init?

回答

2

添加到頁面的動態控件必須在每次回發時添加,而不僅僅是第一次。刪除!IsPostBack條件。其次,它們必須在init或preinit期間添加,因爲這樣,viewstate將被正確捕獲和恢復(ASP.NET在init和load事件之間恢復viewstate)。

+0

各位,檢查這一個http://geekswithblogs.net/chrishan/archive/2007/03/27/109988.aspx – Gaby

5

您應該總是重新加載每個帖子後面的Page_init上的用戶控件。

1

給控制的ID,並且還加載控制在Page_init

uc.ID = "your id";