讓updatepanel的AsyncPostBack終止

最近cloudio在案子上面需要用到AJAX的效果

最後決定用微軟的AJAX Extensions來實做

說真的UpdatePanel還蠻好用的

最近cloudio在案子上面需要用到AJAX的效果

最後決定用微軟的AJAX Extensions來實做

說真的UpdatePanel還蠻好用的

不過在實務上cloudio還是覺得要儘量把UpdatePanel範圍縮到最小比較好

最好是小到只包住那需要局部更新的區塊

再配合Updatepanel的UpdateMode跟Updatepanel的Triggers設定幾組控制更新的控制項

不然老實說cloudio遇到很多問題都是因為Updatepanel的非同步更新把整個程式的流程打亂掉...

而且Updatepanel範圍越大就代表要傳輸更多的資料回server端不是嗎?

 

那言歸正傳

一般來說AJAX除了非同步更新之外還有一個很重要的功能

就是讓使用者終止現在的非同步請求

總不能使用者點了個按鈕開始非同步更新

等了2~3分鍾還在等,而且最慘的是不能取消

總不能叫使用者按F5重整頁面吧

這時候可以呼叫MicrosoftAjaxLibrary來處理一下啦

 


function AjaxAbort() {
    var ScriptManage = Sys.WebForms.PageRequestManager.getInstance();
    if (ScriptManage.get_isInAsyncPostBack()) {
        ScriptManage.abortPostBack();
    }
}

cloudio寫了一個小function讓您可以掛在需要叫Updatepanel停止更新的物件上:D