2009-04-21 53 views
0

這是我的場景:
我有一個帶有佔位符的頁面。該頁面添加了不同類型的控件(我們不想顯示一些數據 - 通過查詢字符串或回發獲取id,因爲我們也有一棵樹)到此佔位符。
所添加的控件或多或少都包含一個文本框(顯示元素的名稱),複選框(顯示元素的活動狀態)以及一個在此Web控件內激發方法的保存按鈕。觸發器 - WebControl的方法未被觸發

現在我的問題是非常明顯的: 因爲我動態添加控件(以及對於每種情況:!回發和回發),所以添加控件內的save-method不會觸發 - 無論我是什麼做...

我只是愚蠢得到的伎倆:)

一些幕後故事,場景的相關信息(工作流程):

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!this.Page.IsPostBack) 
    { 
     this.SelectedElement = SomeMagicMethod(); 
    } 
} 

protected void NodeSelected(object sender, TreeViewNodeEventArgs e) 
{ 
    this.SelectedElement = SomeOtherMagicMethod(); 
} 

protected override void OnLoadComplete(EventArgs e) 
{ 
    // we have to take this life-cycle! 
    if (this.SelectedElement!= null) 
    { 
     this.DisplayElement(); 
    } 
} 

private void DisplayElement() 
{ 
    var UC = this.LoadControl(UCPath) as DataTypeUC; 
    if (UC == null) 
    { 
     return; 
    } 

    UC.ID = EditCampaignFolderUCID; 
    UC.SetData(this.SelectedElement); 
    UC.DataBind(); 
    this.phContent.Controls.Add(UC); 
} 
+0

您可以顯示標記和代碼背後爲你添加的用戶控制? /導演Asger – asgerhallas 2009-04-21 20:12:50

回答

0

的訣竅是:reinstatiate在OnInit的一切,並在順序的視圖狀態保存在最後的請求......棘手棘手

0

雖然動態添加控件,你」每次都必須連接保存按鈕的事件(即,如果正在動態生成保存按鈕)。