2011-07-19 96 views
0

我有兩個UpdatePanel,UpdatePanel1和UpdatePanel2。是否可以在事件期間以編程方式更改控件的UpdatePanel?

我在服務器端事件。我想從UpdatePanel1中刪除一個控件,並將控件添加到UpdatePanel2。當我嘗試這樣做,我收到一個內部服務器錯誤500

事情如此簡單:

siblingPane.UpdatePanel.ContentTemplateContainer.Controls.Remove(splitter); 
parentPane.UpdatePanel.ContentTemplateContainer.Controls.Add(splitter); 

我查閱了一些怎麼對的上添加動態內容到一個更新面板,但還沒在這種情況下無法找到提及此問題的任何內容。有人對此有更多瞭解嗎?謝謝。

編輯:我有具有以下「事件」發生在我的網頁後,這個問題:

  • 用戶發起的行動。
  • 我對操作客戶端調用一個__doPostBack目標控件作出響應。
  • 該控件已實現IPostBackEventHandler。我現在內部被響應回發的RaisePostBackEvent
  • Control有描述/所示here
  • 層級當該回傳完成需要修改,使得某些控件的刪除已發生所述網頁的狀態,並,在某些情況下,其他控件會在DOM層次結構中上移到父UpdatePanel。

我不想在我的__doPostBack之後導致完整頁面的回傳,這會挫敗一切的目的。我無法在Page_Init中更改控件的結構,因爲控件RaisePostBackEvent是我完成所有繁重工作的地方。

回答

0

服務器錯誤可能表示不允許修改控件集合?一般來說,應該在OnInit()期間添加/刪除控件(也許它是頁面生命週期的OnPreInit()?)部分。

+0

如何查看服務器錯誤?我看到的是: 無法加載資源:15Uncaught Sys.WebForms.PageRequestManagerServerErrorException:服務器500(內部服務器錯誤)的狀態 Telerik.Web.UI.WebResource.axd迴應Sys.WebForms.PageRequestManagerServerErrorException :處理服務器上的請求時發生未知錯誤。從服務器返回的狀態代碼是:500 我知道他們應該在頁面生命週期的早期階段進行設置,但我不認爲這是可能的。 –

相關問題