2010-11-22 78 views
0

我基於用戶點擊哪個選項卡動態加載衆多用戶控件之一。我將選定的標籤索引存儲在視圖狀態下。用戶控件上有一個複選框,用於觸發OnChanged事件。我的問題是,如果我在Page_Load中加載用戶控件,複選框事件不會觸發,因爲控件沒有及時創建。如果我在Page_Init中加載用戶控件,頁面不知道要加載哪個用戶控件,因爲ViewState尚未加載。我如何存儲哪個用戶控件加載並獲取用戶控件上的事件觸發?如何控制以允許用戶控件事件觸發的方式加載哪個用戶控件

+1

我只是補充一點,如果您在包含頁面/控件的Page_Load中動態加載它,您可以獲取複選框事件。如果它沒有開火,那麼可能有其他事情出錯了。我見過的最常見的問題是創建這個問題,不是每次初始化時都將複選框的標識設置爲相同的標識 – 2010-11-22 23:27:50

回答

1

我發現的最佳策略是創建Page_Init事件中的所有控件,並將其Visible屬性設置爲false(在您的案例的Page_Load中),如果它們不應出現在呈現的頁面上。

編輯

另一種選擇是,以確定哪些控制基於一些其它標準(除了視圖狀態)加載。例如,如果您使當前選項卡成爲查詢字符串參數之一,則該數據將在Page_Init期間在請求中可用。

+0

我不認爲這是我的選擇。用戶控件非常大,並且由於性能的原因,我一次只能加載一個。你知道其他策略嗎? – adam0101 2010-11-22 22:00:05

相關問題