1. 从codeplex下载AjaxPro,下载地址 http://www.codeplex.com/AjaxPro/Release/ProjectReleases.aspx
下载解压后的文件中包括一个AjaxPro.dll, 一个AjaxPro.2.dll,如果您的程序基于.NET 1.1,则使用AjaxPro.dll,如果是.NET 2.0及以上,则使用AjaxPro.2.dll
2. 新建一个Web项目, 添加对AjaxPro.2.dll(或AjaxPro.dll)的引用,
在Web.config中的<httpHandlers>中加入一行:
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
如果为.NET1.1则为
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
如下所示:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.web> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers> </system.web> </configuration>
3. 新建一个页面,假如页面文件名为WebForm1.aspx,在WebForm1.aspx.cs中添加一个方法:
[AjaxPro.AjaxMethod] public DateTime GetServerTime() { return DateTime.Now; }并在Page_Load中添加对该类的注册
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1));WebForm1.aspx.cs完整代码如下:
namespace AjaxProDemo { public class WebForm1 { protected void Page_Load(object sender, EventArgs e) { AjaxPro.Utility.RegisterTypeForAjax(typeof(WebForm1)); } [AjaxPro.AjaxMethod] public DateTime GetServerTime() { return DateTime.Now; } } }
4. 在页面文件中,添加一个button和一个span
<input type="button" value="异步调用" onclick="asyncGetServerTime()"/>
<span id="result"></span>
添加如下脚本:
function asyncGetServerTime() { AjaxProDemo.WebForm1.GetServerTime(getServerTime_callback); // 异步调用,即不等服务器返回结果,该函数就可向下执行
}
function getServerTime_callback(res) // 回调方法,在服务器返回结果的时候调用 { document.getElementById('result').innerHTML = res.value;
}
这样,在界面上点击button的时候,你会发现页面没有刷新,但下面的span上面显示了服务器段返回的服务器时间