什么是 AJAX?
AJAX 是 Asynchronous JavaScript And XML(异步 JavaScript 和 XML)的缩写,它不是一项技术,而是很多技术的集合。AJAX 使用通信技术(通常为 SOAP 和 XML)发送和接收对服务器的异步请求/响应,然后利用显示技术(JavaScript、DOM、HTML 和 CSS)处理响应。如今,使用 AJAX 的应用程序是合法的,因为多数浏览器都支持这项必需的技术。有关 AJAX 更详细的定义,请访问 AJAX Wikipedia entry(英文)。
AJAX 到底是什么?AJAX 使您能够通过 JavaScript 调用执行服务器端方法,而不需要刷新浏览器。将它视为发生于用户后台的小型请求/响应。如果您仍不清楚 AJAX 是什么,请看 Google 上的两个常见示例:Google Suggests(英文)和 Google Maps(英文)。如果您不熟悉 AJAX,这两个应用程序的响应会使您有点兴奋。
用于 ASP.NET 的 AJAX
很多因素促使 AJAX 应运而生。您可能不想花费几个小时或几天来了解 AJAX 的内部原理,而是更希望现在就开始创建启用了 AJAX 的应用程序,来满足现有需求(如果您确实想知道 AJAX 内部工作原理,我肯定不是可以询问的人)。开发人员可以用来快速入门的工具有很多。不过我们将特别关注由 Michael Schwarz 编写的源代码开放的免费 Ajax.NET。Ajax.NET 考虑到所有的实现细节是基于 .NET 的,并且能够被扩展。Microsoft ASP.NET 2.0 通过客户端回调功能(英文)引入了独具特色的异步回调,并且最近宣布(英文)代号为“Atlas”的 AJAX 正在实现中。
术语可能有些混乱,但是当我介绍 AJAX 时,就是在介绍从客户端异步调用服务器端函数的整体框架。提到 Ajax.NET 时,我是指能够帮助您创建利用 AJAX 框架的解决方案的特定实现。
在利用AJAX 框架的基础上我门就省了很多的时间。直接引用框架就可以实现ajax的无刷新。
第一步:
在您的.net项目中添加ajax.dll引用.
第二步:
在web.config文件中建立HttpHandler,具体如下:
<configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
...
<system.web>
</configuration>
第三步:
在后台代码的page_load事件中调用以下方法:
VB.NET
vb.net
Public Class POPT8
Inherits System.Web.UI.Page
Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Ajax.Utility.RegisterTypeForAjax(GetType(popt8))
'...
end sub
'...
End Class
C#
public class POPT8 : System.Web.UI.Page{
private void Page_Load(object sender, EventArgs e){
Ajax.Utility.RegisterTypeForAjax(typeof(POPT8));
//...
}
//...
}
第四步:
你可以利用客户端脚本调用您的页面后台代码中的方法,示例如下:
VB.Net(服务器端代码)
<Ajax.AjaxMethod()> _
Public Function DoSum(ByVal A As Integer, ByVal B As Integer) As Integer
Return A + B
End Function
C#(服务器端代码)
[Ajax.AjaxMethod()]
public int DoSum(int A, int B)
{
return A+B;
}
AJAX 是 Asynchronous JavaScript And XML(异步 JavaScript 和 XML)的缩写,它不是一项技术,而是很多技术的集合。AJAX 使用通信技术(通常为 SOAP 和 XML)发送和接收对服务器的异步请求/响应,然后利用显示技术(JavaScript、DOM、HTML 和 CSS)处理响应。如今,使用 AJAX 的应用程序是合法的,因为多数浏览器都支持这项必需的技术。有关 AJAX 更详细的定义,请访问 AJAX Wikipedia entry(英文)。
AJAX 到底是什么?AJAX 使您能够通过 JavaScript 调用执行服务器端方法,而不需要刷新浏览器。将它视为发生于用户后台的小型请求/响应。如果您仍不清楚 AJAX 是什么,请看 Google 上的两个常见示例:Google Suggests(英文)和 Google Maps(英文)。如果您不熟悉 AJAX,这两个应用程序的响应会使您有点兴奋。
用于 ASP.NET 的 AJAX
很多因素促使 AJAX 应运而生。您可能不想花费几个小时或几天来了解 AJAX 的内部原理,而是更希望现在就开始创建启用了 AJAX 的应用程序,来满足现有需求(如果您确实想知道 AJAX 内部工作原理,我肯定不是可以询问的人)。开发人员可以用来快速入门的工具有很多。不过我们将特别关注由 Michael Schwarz 编写的源代码开放的免费 Ajax.NET。Ajax.NET 考虑到所有的实现细节是基于 .NET 的,并且能够被扩展。Microsoft ASP.NET 2.0 通过客户端回调功能(英文)引入了独具特色的异步回调,并且最近宣布(英文)代号为“Atlas”的 AJAX 正在实现中。
术语可能有些混乱,但是当我介绍 AJAX 时,就是在介绍从客户端异步调用服务器端函数的整体框架。提到 Ajax.NET 时,我是指能够帮助您创建利用 AJAX 框架的解决方案的特定实现。
在利用AJAX 框架的基础上我门就省了很多的时间。直接引用框架就可以实现ajax的无刷新。
第一步:
在您的.net项目中添加ajax.dll引用.
第二步:
在web.config文件中建立HttpHandler,具体如下:
<configuration>
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
...
<system.web>
</configuration>
第三步:
在后台代码的page_load事件中调用以下方法:
VB.NET
vb.net
Public Class POPT8
Inherits System.Web.UI.Page
Private Sub Page_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Ajax.Utility.RegisterTypeForAjax(GetType(popt8))
'...
end sub
'...
End Class
C#
public class POPT8 : System.Web.UI.Page{
private void Page_Load(object sender, EventArgs e){
Ajax.Utility.RegisterTypeForAjax(typeof(POPT8));
//...
}
//...
}
第四步:
你可以利用客户端脚本调用您的页面后台代码中的方法,示例如下:
VB.Net(服务器端代码)
<Ajax.AjaxMethod()> _
Public Function DoSum(ByVal A As Integer, ByVal B As Integer) As Integer
Return A + B
End Function
C#(服务器端代码)
[Ajax.AjaxMethod()]
public int DoSum(int A, int B)
{
return A+B;
}
浙公网安备 33010602011771号