2010-08-18 54 views
0

我正在使用一些AJAX魔術來開發ASP.NET Web項目。由於我的GridView的數據需要長達15秒的時間才能收集,我將該頁面發送給客戶端,並通過jQuery/JScript(請參見下文)觸發UpdatePanel的異步更新。ASP.NET/jQuery Post-Back,但不是在使用瀏覽器的「返回」按鈕時

到目前爲止,這工作得很好。現在,當用戶導航到下一頁(例如記錄詳細信息視圖)並通過「返回」按鈕返回時,我想跳過此步驟。有沒有辦法得到他的,什麼是最優雅的?

這一個不工作(hasDonePostBack的價值不是由瀏覽器保存):

var hasDonePostBack = false; 
function fRefreshAsyncOnce(id, param) { 
    $(document).ready(function() { 
     if (!hasDonePostBack) { 
      __doPostBack(id, param); 
      hasDonePostBack = true; 
     } 
    }); 
} 

任何幫助將是巨大的!

這是重要的原因:重新計算數據需要15​​秒。此外,網格正在使用控件和更多的客戶端腳本(例如,可以檢查的複選框,切換的CSS類等),並且所有這些在返回後應該是相同的。

乾杯, 馬蒂亞斯

回答

1

你可能想看看歷史點特徵;您可能可以利用此功能的優勢:http://msdn.microsoft.com/en-us/library/cc488548.aspx

但是,這是觸發客戶端操作時野獸的本質......另一種選擇是允許用戶取消回發(或嘗試解釋一種方法來取消它自己)使用這種技術:http://msdn.microsoft.com/en-us/library/bb398789.aspx

+0

謝謝布賴恩,似乎我應該重構我的代碼的一些部分。我會看看它,然後我會寫另一篇文章。 – 2010-08-19 12:44:19

相關問題