2012-06-27 81 views
1

我使用的是ASP.Net AJAXUpdatePanel加載頁面的右側部分。ASP.Net Ajax UpdatePanel僅在頁面準備就緒後加載

由於該部分需要一些時間來加載,我想在加載頁面的其他部分後加載它。

我可以使用正常的AJAXASP.Net AJAX但我選擇使用後者,因爲我想試用它。

我發現我的UpdatePanel總是被加載。

我希望它在頁面準備就緒後才能加載。

有人說使用計時器,有人說使用一些javascript。

但我仍然無法完成它。

所以,這是我的2個障礙,停止加載網頁時啓動和頁面時準備

+1

採取這裏看看http://www.codeproject.com/Articles/116273/A-Generic-Way-to-延遲加載延遲加載任何數字-O –

回答

0
<script type="text/javascript"> 
    var currentItemID=$('#<%= labcurrentItemID.ClientID %>').html(); 
    if (currentItemID != null) { 
     $(document).ready(function() { 
      $('#main_container').load('/Custom/Going%20Places/PopularRelatedArticle.aspx?currentID=' + currentItemID); 
     }); 
    } 
    else { 
     $(document).ready(function() { 
      $('#main_container').load('/Custom/Going%20Places/PopularRelatedArticle.aspx?currentID={7F0811A7-D484-4675-8A23-0AEB235B9B5F}'); 
     }); 
    } 
</script> 
0

你爲什麼不啓用和禁用頁面事件開始加載?例如。嘗試在Page_PreLoad事件中,將更新面板的啓用屬性設置爲False。在Page_LoadComplete事件中,將其設置回enabled = true

+0

這將打破頁面,結果將不會是什麼要求... – Aristos

0

UpdatePanels使用Ajax進行更新,而不是在第一次加載時進行更新。

如果您希望它在第一次加載時快速加載,請避免任何代價昂貴的處理,加載時調用數據庫。把它們放在一個

if(IsPostBack) 
{ 
    //your long processing 
} 

現在使用AsyncPostBackTrigger使你的updatePanel回發。

0

嘗試使用此代碼(條件模式+更新方法)

<asp:UpdatePanel ID="YourIdPanel" UpdateMode="Conditional"         runat="server"> 


//In order to force loading 
YourIdPanel.Update(); 
+0

你怎麼知道什麼時候頁面加載完成並運行'YourIPanel。更新();' – william

相關問題