(一)整理一些Ajax框架,希望与各位交流。
一、基于浏览器的Ajax框架
1、 AjaxCall
网址:http://www.ajaxify.com/run/testAjaxCaller/
库文件代码比较简单,比较容易上手,并且支持脚本调试。
2、 Flash JavaScript Integration Kit
网址:http://weblogs.macromedia.com/flashJavaScript/
集成了Flash和Javascript,Javascript和Flash ActionScript可互相调用。
3、 Google Ajaxslt
网址:http://google-ajaxslt.sourceforge.net/
Google Map用的就是这个,功能自然不弱。
4、 HtmlHttpRequest
网址:http://www.twinhelix.com/javascript/htmlhttprequest/
运用XMLHttpRequest对象和标准HTML标签IFrame实现最大限度的跨平台支持,如果浏览器不支持XMLHttpRequest对象则使用IFrame模拟异步交互。在浏览器还没有统一标准的今天,应该是个不错的过渡方法。
二、.NET平台基于服务器端的Ajax框架
1、 Ajax.NET
网址:http://ajax.schwarz-interactive.de/csharpsample/default.aspx
在.net平台下,除了微软自己推出的asp.net ajax,这个应该是用得最广的了。
2、 Bitkraft for ASP.NET
网址:http://www.tiggrbitz.com/
3、 ComfortASP.NET
网址:http://www.comfortasp.de/
4、 Magicajax
网址:http://www.magicajax.net/
三、其它平台基于服务器端的Ajax框架
1、 Cross-Platform Asynchronous Interface Toolkit
网址:http://cpaint.booleansystems.com
支持php和asp
2、 SAJAX
网址:http://www.modernmethod.com/ajax
支持asp/coldfusion/perl/php/python
3、 JavaScript Remote Scripting
网址:http://www.ashleyit.com/rs/jsrs/test.htm
支持asp/coldfusion/php/jsp
(二)Ajax.NET简单实践
ASP.NET AjaxPro的应用
第一步:新建Bin目录并添加引用Ajaxpro.dll的引用
第二步:在Web.config文件<system.web>里添加
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
</httpHandlers>
第三步:在cs文件里写Ajax方法,注意方法前加:[AjaxPro.AjaxMethod] 例如:
[AjaxPro.AjaxMethod]
public string GetTime()
{
return DateTime.Now.ToString();
}
第四步:在Page_Load里添加AjaxPro注册例如:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxTest));//AjaxTest是类名
}
第五步:
客户端调用服务器端Ajax方法:
例如:
function Button1_onclick()
{
var s=AjaxTest.GetTime().value;//AjaxTest是类名,GetTime是方法document.getElementById("show").innerHTML+=s;}
到这里,虽然简单,已是一个完整的AjaxPro的使用了。 当然AjaxPro 还可做很多更实用的,更强大的功能。
请各位注意,Ajax.net实际有AjaxPro.dll和Ajax.dll两个版本,这两个版本使用上虽然差不多,但还是有区别的,主要的区别在下面两点
(1)web.config配置文件不一样
Ajax.dll的配置文件写法为
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
AjaxPro.dll的配置文件写法为
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
(2)调用服务器方法的时候方式不一样,有很多朋友就是因为这个原因,发现命名空间找不到或者对象未定义引用Ajax.dll的时候,调用服务器方法不要加命名空间,应用AjaxPro.dll的时候,调用服务器方法需要加命名空间。
例如当页面设置为这种设置的时候
<%@ Page language="c#" Codebehind="Test.aspx.cs" AutoEventWireup="false" Inherits="Web.Test" %>
客户端调用方式:
Ajax.dll为
var response=Test.GetServerMethod();
alert(response.value);
AjaxPro.dll为
var response=Web.Test.GetServerMethod();
alert(response.value);