本文內容來自網路,我這裡只是做了一個整理歸納,並根據自己使用經曆總結了一下,方便大家的學習使用。
介紹:AjaxPro也就是AJAX.NET (Professional),它是ASP.NET平台上著名的AJAX架構,誕生於2005年2月(雖然正式命名為AJAX.NET則是在兩個月之後),作者為Michael Schwarz。同年10月,Michael為AJAX.NET提供了更豐富的功能(主要是安全性方面),並將其改名為AJAX.NET Professional。AJAX.NET提供的最主要的(也是唯一)的功能就是非同步呼叫伺服器端方法,可謂非常純粹的“基於資料”的AJAX使用方式。這個架構是一個個人作品,有支援.NET 1.1和2.0的版本,它並不屬於微軟官方,目前已經停止更新。 微軟官方的AJAX組件最初叫Atlas 後來改名叫 ASP.NET AJAX。裡面的兩個dll ajaxpro.dll 是用於.net 1.1 版本的組件
ajaxpro.2.dll 是用於.net 2.0的(其實.net 3.5也可以使用),並非所謂的升級版,因為,功能是一樣的...只是適用的.NET Framework 的版本不同而已.
AjaxPro.2.dll的使用也非常簡單,介紹如下:
1.首先在Web項目的Bin目錄下添加對AjaxPro.2.dll的引用。
2.在web.config中的<system.web>下加入以下配置:
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandlers>
3.如果要在Default.aspx頁面中使用AjaxPro.2.dll。則只需要在Default.aspx.cs的Page_Load事件中進行註冊,只需要下面這句代碼就可以
代碼
//註冊Ajax回調方法。其中typeof(_Default),註冊Ajax回調方法所在的類,表示Default頁面前台會調用在_Default類中定義的方法。當然,完全
//可以將回調的方法放在一個類檔案中,比如App_Code下的AjaxProCallMethod.cs中,這樣的話,用AjaxPro.Utility.RegisterTypeForAjax(
//typeof(AjaxProCallMethod),this.Page)代替下面這句話。
AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default), this.Page);
4.現在該是定義回調方法的時候。假如我們將回調方法定義在App_Code下的AjaxProCallMethod.cs中。假設我們定義一個方法:
[AjaxPro.AjaxMethod]public string AddDay(string date, int day){...}
一定要在回調方法(public修飾符)上加上這樣一句話:
[AjaxPro.AjaxMethod]
5.最後,我們在前台指令碼中調用已經註冊的回調方法,調用方式如下:
//date,day為前台獲得的值,作為參數傳入,前台調用後台AjaxProCallMethod.cs下的AddDay方法
AjaxProCallMethod.AddDay(date,day);
直接是“類名.方法”,方法在第4步中不必定義為靜態方法。
總結:AjaxPro.2.dll就是為了實現前台調用背景方法。在web.config中配置一下,在前台所在頁面的後台Page_Load事件中註冊回調類:
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxProCallMethod),this.Page)。
在回調類中定義回調方法,回調方法上一定要加上這樣一句。
[AjaxPro.AjaxMethod]
回調類為public,不用為靜態類。剩下的就是前台調用對應後台Page_Load事件中註冊過的回調類的回調方法,調用方式是"類名.方法".