簡體   English   中英

從服務器端動態加載用戶控件

[英]Loading user control dynamically from server side

我有一個繼承一個類的用戶控件。 (並且我對該類的Oninit函數進行了一些編碼)。 我正在使用以下方法從服務器端動態加載該用戶控件:

Mycontrol dc = (Mycontrol)Page.LoadControl("/Controls/Mycontrol.ascx");
 MyPlaceHolder.Controls.Add(dc);

但是問題在於,用戶控件繼承的類的Oninit函數尚未執行。 誰能告訴我為什么會這樣,對此有什么解決方案?

謝謝,

按照參考MSDN的頁面生命周期事件時, OnInit子控件都是之前調用OnInit頁面。

這意味着您必須在PreInit事件中添加動態控件,以便在事件鏈開始之前將其放置在適當的位置。 實際上, PreInit的文檔指出:

將此事件用於以下用途:

  • 檢查IsPostBack屬性,以確定這是否是第一次處理頁面。 此時還設置了IsCallback和IsCrossPagePostBack屬性。

  • 創建或重新創建動態控件。

  • 動態設置母版頁。

  • 動態設置主題屬性。

  • 讀取或設置配置文件屬性值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM