2011-04-11 68 views
2

在我的default.aspx頁面中,我有許多用戶控件,並且它們需要大量時間才能加載。任何人都知道如何使這個頁面加載更快。如何異步加載Web用戶控件

+0

請詳細說明您的頁面的構建方式和性能瓶頸。 – slfan 2011-04-11 22:24:18

回答

0

確保只加載您需要在初始加載時在頁面上顯示的信息。任何後續信息應通過回傳或ajax加載。

0

前幾天有人問有點類似於我試圖回答:

Panel and User Controls vs load User Controls dynamically

摘要:

您應該延遲加載,如果你把它們都在頁面的用戶控件,但只有單個UserControls可見。這意味着:

在UserControl的Page_Load中不做任何事情,但僅在控制器(頁面)使其可見時執行任何操作。因此公開函數來加載它們的數據並更新ascx中的內部UpdatePanel。然後 - 在頁面調用該函數並使控件變爲可見之後 - 讓該頁面圍繞UserControl更新外部UpdatePanel。

通過這種方式,usercontrols既不會被渲染也不會被數據綁定,然後您可以直接引用它們。

讓他們通過以下方式進行溝通:

  • 頁>通過功能/性能的用戶控件
  • 用戶控件>通過活動
0

頁面,因爲默認的頁面加載很多時候,你可以嘗試輸出緩存來改善你的網站的性能。您可以將它用於整個頁面或加載時間最長的用戶控件。只需將以下標記放在頁面頂部

<%@ OutputCache Duration="300" VaryByParam="none" %> 

持續時間是頁面停留在緩存中的時間(以秒爲單位)。

要提高網站的性能,您應該首先分析瓶頸並向我們提供更多信息。性能改進有許多可能性。