在已經發布的 ASP.NET2.0 中,無刷新頁面開發相關部分同 beta2 有不少改動。而且在越來越多的 Ajax 開發包被開發出來的情況下, ASP.NET2.0 自帶的無刷新頁面技術沒有被很多人了解,甚至不少人認為該功能有些“雞肋”。但如果我們僅僅是在程序中加入很少部分的 Ajax 特性, Atlas 、 AJax.Net 等就顯得有些“殺雞用牛刀”的感覺了。而且,我認為使用 ASP.Net2.0 提供的方法進行開發並不很復雜,相反,使用很少的代碼就可以做出來很棒的效果!
下面我來一步一步的帶大家開發無刷新的頁面!
第一步:實現 ICallbackEventHandler 接口
ICallbackEventHandler接口位於System.Web.UI命名空間下。在beta2時,ICallbackEventHandler只包含一個RaiseCallbackEvent方法,即處理回調事件,又返回處理結果。在正式版中,它變成了包含GetCallbackResult和RaiseCallbackEvent兩個成員方法,第一個用來返回回調事件的結果,第二個用來出來回調事件。這個變化主要是為了編寫Web控件而做的改動,具體可以看一下GridVIEw等控件中的實現代碼。
建立一個 Web 網站,我們來修改 default.ASPx.cs 文件:
1 public partial class _Default : System.Web.UI.Page, ICallbackEventHandler