2013-10-21 32 views
0

我在一個.aspx頁面中有多個用戶控件我想使用c#逐個加載用戶控件。這是可能加載像延遲加載的用戶控件(One控制應首先加載比其他將開始加載等..)在aspx頁面中逐個加載用戶控件

+0

在這裏發佈您的代碼。 –

+0

你想要的部分代碼@ManojPilania我的問題很簡單我想加載一個UC-A後得到加載我想加載B等...(我使用的是asp.net 3.0) – Gurvinder

+1

請參考這個http ://stackoverflow.com/questions/1290592/dynamically-load-a-user-control-ascx-in-a-asp-net-website/1290685#1290685 –

回答

0

像它這樣的MSDN頁面描述你可以操縱控制: http://msdn.microsoft.com/en-us/library/kyt0fzt1.ASPX 你可以使用Page.Controls.Add方法。但我不確定你想要達到的目標。因爲你不能「跳過」頁面/控件生命週期。這意味着您可以在PreInit事件中順序添加所有控件,但每個控件都會有自己的Load,Render和其他控件事件。

+0

感謝@Perevalov的答案,我想按順序加載它的原因是每個控件都有巨大的數據影響頁面的性能。所以我想讓UC一個接一個地加載。 – Gurvinder

+0

但它不會給你任何性能好處。由於所有內容都是在服務器上處理的,客戶端在瀏覽器中看不到任何東西,直到所有的控件都被處理完畢。 – Perevalov

+0

如果您想提高頁面的性能,並且無法優化每個控件,請嘗試將頁面拆分爲幾個較小的頁面。每個頁面只包含幾個重要的控件。嘗試查看AjaxControlToolkit中的Tabs組件,以及http://www.asp.net/ajaxlibrary/ajaxcontroltoolkitsamplesite/tabs/tabs.aspx及其OnDemand功能。這不是完美的,而是在WebForms中實現它的最快方法。 – Perevalov

0

可以使用LoadControl method 動態加載用戶控件頁面上的所有控件都必須經過ASP.NET頁面生命週期流程。你什麼意思是懶加載?

+0

延遲加載意味着我想在滾動時一個接一個地加載控件。 – Gurvinder

+0

當然。在這種情況下,可以通過檢測瀏覽器事件通過AJAX完成。 [將用戶控件呈現爲HTML字符串](http://msdn.microsoft.com/en-us/library/wk91d11a.aspx)並返回AJAX響應以在UI上顯示。但我懷疑你是否真的想這樣做。 –

相關問題