我有一個很長的加載時間(如2分鐘)的ASP.NET(C#)頁面。用戶會看到一個小動畫和一個「請稍候」的消息。如果用戶意外加載此頁面,則需要等待加載。如何在請求發送後停止加載頁面?
我的問題是:有沒有辦法停止頁面加載?
謝謝
我有一個很長的加載時間(如2分鐘)的ASP.NET(C#)頁面。用戶會看到一個小動畫和一個「請稍候」的消息。如果用戶意外加載此頁面,則需要等待加載。如何在請求發送後停止加載頁面?
我的問題是:有沒有辦法停止頁面加載?
謝謝
如果你想停止服務器端處理,那麼它是一個棘手的操作。一般情況下,一旦發出請求,該頁面將獨立呈現其他行星正在進行的獨立行爲。您可能需要做的是重新設計該頁面,以定期檢查停止命令是否已發出,並中止當前正在執行的任何操作。停止標誌可以放入會話中,應在停止後清除。
您可能還需要考慮如何正確識別正確的停車位(如果有多個車輛正在運行)。這可以通過返回可用於部分調用「abort」頁面的唯一ID來完成。
雖然我的做法並非如此簡單,但還是要努力阻止用戶發生這種事故。可能做任何他們點擊的鏈接彈出一個警告說:「下面的頁面將需要幾分鐘渲染,你是否希望繼續」,然後希望你有效地中止頁面請求之前,它甚至作出。
我應該注意,我從來沒有嘗試過這樣做過,所以可能有更簡單的方法來做到這一點,但這是我可能會認爲abotu解決問題的方式。
你的想法看起來不錯。我會試一試 – Olivier 2010-07-30 15:43:17
目前數據加載如何? Ajax還是僅僅通過主頁面請求?你想要取消什麼?只需停止負載或做一個重定向或使屏幕做一些不同的事情? – Chris 2010-07-30 15:28:57
我不使用AJAX。 我想要做的是發出停止加載命令到服務器,使其停止渲染頁面,因爲大頁面渲染似乎減慢了其他使用系統的人。 – Olivier 2010-07-30 15:30:04