A script on this page is causing Internet Explorer to run slowly. If it continues to run, your comp

來源:互聯網
上載者:User

  A script on this page is causing Internet Explorer to run slowly. If it continues to run, your computer may become unresponsive

[問題描述]

包含ajax的頁面中,調用資料層的方法更新資料庫,其中一個欄位的內容比較長,10萬多字.

 存取過程用了HtmlEncode和HtmlDecode.

 現在的問題是:

 1. 當輸入一般字元時,輸入10萬多或者20萬多,運行正常.

 2. 從word中拷貝帶有";/SPAN></P><P class=MsoNormal"等特殊字元,特殊格式的段落,html代碼,javascript代碼,web.config檔案的配置節時:

 (a) 當字數較少(大概1萬字)的時候,運行正常.

 (b) 當字數較多(超過5萬)的時候,就會彈出如下錯誤提示:

    

 彈出錯誤提示後,網頁功能就失效了,再點頁面上的按鈕都沒反應了.

 我跟蹤了一下,發現錯誤對話方塊的彈出是在伺服器端代碼執行完畢,而ajax的EndRequest事件還未觸發的期間內彈出的.

 我實驗了以下的方法

 1. Server.ScriptTimeout = 20.不行.

 2. 同時修改 Server.ScriptTimeout 和 web.config中的executionTimeout為較小的值.不行.

 3. 不用HtmlEncode和HtmlDecode,還是不行.

 

 這到底是怎麼回事哪?該怎麼解決那?

 不要告訴我不要輸入那些字元哦,那些都是必須輸入的.呵呵.

 請指教,謝謝

 

[解決方案]

自己搞定:

原來當一個div內的資料非常多的時候,當通過頁面上的控制項將div的值改變的時候,就會運行很慢或者出現這個提示。

所以我的處理方法是:

在觸發這個div改變的控制項開始發生Request的時候,首先將div的值清空或者設定成很簡單的值,比如 ”Processing…”, 然後在請求結束的時候再將值賦回來。

這個通過ajax的PageRequestManager的InitializeRequest和EndRequest非常容易實現。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.