2009-07-29 56 views
0

如何訪問用戶控件的AddedControl事件中的主頁面對象?ASP.NET用戶控件 - 訪問AddedControl中的主頁面對象

我試圖運行的代碼 的ScriptManager OSCM = ScriptManager.GetCurrent(this.Page)的線; ,但即使在父頁面上有scriptmanager,它也會返回null。在WUC的OnInit事件中,同一行代碼返回scriptmanger對象,但不在addcontrol中。我是否在該事件中錯誤地使用了頁面對象 - 是否需要以不同的方式訪問它?

乾杯

MH

回答

1

你需要看看ASP.NET頁面生命週期,請參閱SO這篇文章,我的回答是:

Where should stuff be done in an ASP.NET page

+0

感謝那,但我想我需要對早期部分有更詳細的瞭解。我做了很多調試(覆蓋了用戶控件中可以看到的每個事件,所以我可以看到什麼時候觸發),並且我可以通過AddParsedSubObject和AddedControl階段的流程 - 它似乎通過它們可以通過它們更新面板,因爲它加載了我在面板後插入的控件,但隨着錯誤發生,它會觸發卸載事件,我需要知道「沒有腳本管理器存在」錯誤發生的位置,以及頁面是否由此實例化點..... – 2009-07-30 10:55:00

+0

....所以我可以使用ScriptManager.GetCurrent(Page)方法來查看是否有SCM實例化,並添加它,如果沒有。問題是在AddedControl階段(因爲我想我提到)頁面仍然是空的,所以我需要在那之後做。我懷疑我可能處於雞與雞蛋的情況,因爲這個頁面可能在「No scriptmanager」錯誤被提出之後纔可用,所以我不能再測試scriptmanager的存在和在錯誤發生之前插入一個。或者是否有使用SCM GetCurrent方法(或類似的方法)的方法.... – 2009-07-30 10:58:27

+0

....用於檢查用戶控件是否存在腳本管理器階段? 乾杯 MH – 2009-07-30 11:04:03

相關問題