AJAX PageMethods

摘要:AJAX PageMethods

最近剛學會PageMethods的使用方法,本身對這個方法真的蠻喜歡的,

在不需要UpdatePanel笨重地更新畫面的時候,這個方法顯得輕量許多,

像是需要去伺服器帶出一些參數的時候,使用PageMethods還真方便。

不過最近把這個方法使用在檢核上就有點問題了,

PageMethods的方法回傳值是使用Callback來回傳,

於是,方法叫用後,即結束這個函式,然後伺服器處理完之後,再利用Callback Function來通知Client端網頁。

這樣的話,可以避免因為呼叫伺服端程式而導致Client端網頁不能回應使用者的操作,

但是卻造成了,想要呼叫伺服端程式"並且"等待其執行完畢的狀況實作的困難,

這使得在專案上使用了這個方法,並且遇到這個問題的我,冒了一身冷汗,

目前我並沒有其他的方法來應付這樣的需求,

我試了利用無限迴圈的方法來等待回傳,不過這會使IE跳出是否結束Javascript執行的對話框,

雖然使其可以等待執行完畢,但是卻產生了另一個問題。

最後的解法是利用Callback函式來執行接下來的操作,藉由此來解決等待其執行結束的問題,

目前是把問題暫時解決了,

不過覺得這個方法不怎麼完善,因為,這段時間有可能會使網頁上的狀態改變,

造成檢核過後的值可能會被改變,

理想上,還是希望可以直接等待方法執行結束,不過找了半天找不到相關的文章,

除此之外,PageMethods,本人還是蠻喜歡的。