1. Ajax.NET Pro的下载地址http://www.ajaxpro.info/
2. Ajax.NET简介
Ajax.NET是一个类库,实现从Javascript到服务器端.NET的存取。
Ajax.NET的特点:
l 能把Javascript中的调用传递到.NET方法,并返回到Javascript回叫。
l 能存取来自于JavaScript的会话数据。
l 缓存结果
l 自由使用,可用的源码。
l 用属性标记方法
l 完整的类支持以返回客户端JavaScript值
l 使用HtmlControls来进行输入和返回值
l 可以返回数据表,数据集,数据视图,数组和集合
3. Ajax.NET的入门(以下例子在VS 2005下编写)
1) 新建网站AjaxDemo
2) 首先,先添加对AjaxPro.2.dll的引用(Framework 1.1 为AjaxPro.dll)
3) 配置Web.Config文件
<configuration>2
<system.web>3
<!-- Ajax.NET Profession 4
将ajaxpro下文件扩展名为.ashx 的文件的HTTP GET5
和POST 请求映射到AjaxPro.AjaxHandlerFactory6
处理程序7
.Net Framework 1.1配置:8
<httpHandlers>9
<add 10
verb="POST,GET" 11
path="ajaxpro/*.ashx" 12
type="AjaxPro.AjaxHandlerFactory, AjaxPro"13
/>14
</httpHandlers>15
-->16
<httpHandlers>17
<!--.Net Framework 2.0 配置-->18
<add 19
verb="POST,GET" 20
path="ajaxpro/*.ashx" 21
type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"22
/>23
</httpHandlers>24
</system.web>25
</configuration>4) 新建页面FirstAjaxNet.aspx
VS 2005新建页面默认不带命名空间,自己定义一个命名空间,这里我们全部用AjaxDemo作为名称空间,如果在后端代码添加以下代码设定命名空间,
namespace AjaxDemo
{
//......
}
那么关联的Aspx页面上的
<%@ Page Language="C#" ……. Inherits="AjaxDemo.FirstAjaxNet" %>
添加一个.NET服务端方法GetAuthorName,为了让服务端方法能够和Javascript脚本编写的客户端方法能够交互,必须用Ajax.NET的属性标记把方法标记为AjaxPro.AjaxMethod属性;另外ASP.NET后端代码中的方法要在客户端脚本中进行调用,必须将方法所属类,通过Ajax.NET的AjaxPro.Utility.RegisterTypeForAjax进行类型注册。
5) 客户端脚本
<script language="javascript" type="text/jscript">2
function GetAuthor()3
{4
//调用ASP.NET服务端方法,并回调JavaScript客户端脚本函数,5
//必须在后端代码先注册所调用方法所属类的类型6
return AjaxDemo.FirstAjaxNet.GetAuthorName(getAuthor_callback);7
}8
9
//JavaScript客户端脚本回调函数10
function getAuthor_callback(res)11
{12
//res.value获得服务端方法返回值13
document.getElementById("lblAuthor").innerText = res.value;14
window.status = "hi," + res.value + " wellcome!";15
}16
17
function Init()18
{19
document.getElementById("divUserInfo").style.display=""; 20
GetAuthor();21
}22
</script>23

6) HTML脚本
<form id="form1" runat="server">2
<button id="btnAjaxTest" onclick="javascript: return Init();">AjaxTest</button>3
<br />4
<div id="divUserInfo" style="display:none;"> 5
<table>6
<tr>7
<td style="width:20%;">作者姓名:</td>8
<td><asp:Label id="lblAuthor" runat="server"></asp:Label></td>9
</tr> 10
</table>11
12
</div>13
</form>14

7) 总结
通过Ajax.NET库,我们可以在ASP.NET中简单、快速的实现Ajax。使用中我们要注意到:要让客户端脚本调用服务端方法,必须将要访问的方法进行AjaxPro.AjaxMethod属性标记,并将方法所属类的类型通过AjaxPro.Utility.RegisterTypeForAjax进行注册。

浙公网安备 33010602011771号