AJAX.NET用户开发指南(1)

AJAX依靠 服务器作为中介来分发和处理请求 为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案 因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节

  封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建客户端的javascript函数(这类似于客户端编写的javascript函数),并使用xmlhttprequest创建 服务器代理,这个代理映射客户端的函数到 服务器的处理函数

  复杂吗?不会的,让我们看看下面的简单例子,给出的.net 函数


'VB.Net

public function Add(firstNumber as integer, secondNumber as integer) as integer

return firstNumber + secondNumber

end sub


//C#

public int Add(int firstNumber, int secondNumber)
{
 return firstNumber + secondNumber;
}

  Ajax.net会立即自动的创建带有两个参数、名字为Add的javascript函数,当客户端调用这个javascript函数时,请求将从后台送到 服务器端并从将计算结果返回给客户端

   初始安装

  我们首先从如何把”.dll”安装到你的项目开始,当然,如果你了解如何使用,这一节可以跳过

  如果你还没有Ajax.dll,可以首先下载AJAX的最新版本 解压文件放到可以被你的项目引用的地方,在.net项目中,添加上对其的引用,然后就可以开始使用ajax.dll封装进行开发了




如果你在安装引用时遇到了麻烦,可以参考这个链接的说明:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbtskaddingremovingreferences.asp

   设置 HttpHandle

  为了使其可以工作,第一步必须做的是在web.config中安装设置封装包的HttpHandle,不去详细解释HttpHandle是如何工作的,我们只需要了解他们可以用来处理asp.net请求 例如,所有的目的为*.aspx的请求可以通过System.Web.UI.PageHandlerFactory类发送到控制句柄,简单的说,我们把任何向 ajax/*.ashx 的请求发送到Ajax.PageHandlerFactory的请求处理句柄:

<configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />

</httpHandlers>
...
<system.web>
</configuration>

  上面的代码告诉asp.net把任何匹配到特定的路径( ajax/*.ashx)请求发送到Ajax.PageHandlerFactory产生的HttpHandle,而不再是默认的Handler factory 你不需要创建 ajax子目录,这是一个只用来临时使用的虚拟的目录,因此别的HttpHandler可以用他们自己的目录来使用.ashx扩展名的文件

   配置页面

  现在我们准备好开始代码编写了 打开一个新的网页或者已经存在的页面,在其codebehind文件中的Page_Load事件中增加以下代码:

'vb.net

Public Class Index
Inherits System.Web.UI.Page

Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Ajax.Utility.RegisterTypeForAjax(GetType(Index))
'...
end sub
'...
End Class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值