2010-10-22 61 views
0

我在我的aspx頁面上遇到了BlockUI和ASP.NET AJAX的嚴重性能問題。BlockUI性能不佳

我在嘗試簡單的元素阻塞,但它在淡入淡出/延遲。頁面上的html錯誤是否影響blockUI?

我正在屏蔽垂直於瀏覽器上方的大型div。取消阻止對於同一頁面非常有用(沒有任何延遲/延遲)。如果我的更新面板出現超時,淡入淡出效果也不錯,但只是出現延遲。

function blockMaster(){ 
    $(document).ready(function(){ 
     $('#ftMaster').block({message:"<h2>Just a moment...</h2>"}); 
     $('#<%=btnAJAX.ClientID%>').attr("disabled",true); 
    }); 
} 

回答

0

我認爲HTML錯誤會阻止blockUI工作,如果他們認真的話。當您將block()來自$(document).ready()的電話註釋掉,並在頁面完全加載完畢後通過Firebug手動調用它時會發生什麼?還有延遲嗎?你有其他處理函數在ready事件中被調用嗎?誰打電話給blockMaster(),什麼時候?

+0

感謝您的回覆尼克。當我從螢幕控制檯屏蔽div時沒有任何延遲。我只是把document.ready放在那裏,因爲我在某處閱讀這是很好的做法。我只是在我的updatepanel之外的asp.net服務器控件上調用Async Postback上的塊函數,我檢查回發控件ID和isinasyncpostback(),並在匹配時阻止div。 – 2010-10-25 05:03:28

+0

另外,當我在IE中測試時,甚至沒有延遲的淡入淡出,它只是切換到可見,淡出效果很好。 – 2010-10-25 05:42:55

+0

在構建DOM樹時(請參閱http://api.jquery.com/ready/),在初始加載頁面期間,將傳遞給$(document).ready()的函數調用一次。將JS初始化代碼放在那裏是個好習慣,但是你的使用對我來說沒有意義。您可以在頁面加載時調用blockUI(),或者作爲回傳。嘗試刪除$(document).ready()包裝。 – Simon 2010-10-25 17:56:37