2009-11-09 55 views
1

即時通訊基本上創建一個門戶系統,並且想要動態加載UserControls,現在我已閱讀了幾篇文章,在這裏他們將它們加載到佔位符中,我試過這個。但它似乎只是一個小錯誤。它沒有更好的方式來管理視圖狀態等我如何以正確的方式動態加載UserControls?

dotnetnuke是如何做到這一點他們將控件注入區域/表格單元?那麼視圖狀態如何管理?

在此先感謝...

回答

4

我沒有任何DNN expereience,但是如果你做

protected override void OnInit(EventArgs e) { 
    var control = UserControl.LoadControl("control.ascx"); 
    Page.Controls.Add(control); 
} 

這將動態加載控件,並將其添加到頁面。你想確保你這樣做OnInit,以便控件在viewstate被加載之前存在。這種方式將自動交給視圖狀態。

+0

感謝,通過說,做usercontrols管理他們自己的viewstate?然後這將通過添加多個用戶控件到頁面正確工作? – Cwisking 2009-11-09 14:07:55

+0

它依賴於你的'UserControl'究竟是什麼如果你的'UserControl'包含管理他們自己的ViewState的標準ASP.NET控件,那麼是的。如果你有特殊的值需要存儲,UserControl'必須暗示它自己。 – Bob 2009-11-09 14:32:17

相關問題