学习坊广告 网站建设咨询电话0711-3202220 、 QQ:215665888        将学习坊设为主页     广告赞助QQ:410899793     主页申请

详解如何实现最基本的AJAX框架

来源:网络 【www.cn0711.net】   作者:未知【学习坊转】 [字体: ]
 

环境:window xp sp2 + .net framwwork 2.0.50727。

asp.net 2.0自带的客户端回调



asp.net 2.0已经发布。2.0有了许多新特性,客户端回调就是其中之一。客户端回调允许我们不经过回发而调用服务器端的方法,与ajax提供的功能是一致的,但是不如ajax灵活,ajax可以自定义调用的方法,2.0自带的回调功能却不行。要使用客户端回调功能必须实现system.web.ui.icallbackeventhandler接口。

这个接口包含两个方法:

//客户端回调时固定调用此方法

public void raisecallbackevent(string eventargument)

//执行完raisecallbackevent后将调用此方法。此方法的返回值将被发回客户端

public string getcallbackresult()


例一:

.cs:

string cbreference = page.clientscript.getcallbackeventreference(

this,"arg", "receiveserverdata", "context");

string callbackscript;

callbackscript = "function callserver(arg, context)" + "{ " + cbreference + "} ;";

page.clientscript.registerclientscriptblock(

this.gettype(),"callserver", callbackscript, true);

javascript:

ajax介绍

ajax并不是一种新的技术,而是一些已有技术的有机结合,主要包括:xmlhttp、reflect。一个ajax框架基本上包括:一个自定义的httphandler、一段javascript代码。

ajax运行机制

以前我们使用xmlhttp实现无刷新页面的时候,是用xmlhttp来请求一个隐藏的页面,使用(asp/asp.net)自带的httphandler,而在ajax中,我们请求的也是一个隐藏的页面,不同的是这个页面的httphandler是由我们自己来实现。




使用自己的ajax

1.新建一个网站,并应用刚才你编写的httphandler。并在网站web.config中注册你的httphandler,说明那些请求将使用你编写的handler来处理。下面的内容说明:所有以"czq"结尾的请求,都将使用"czhenq.httphandlerfactory"来处理。



type="czhenq.httphandlerfactory, czhenq.ajax"/>



2.添加一个web页面,将刚才的脚本拷贝到页面中,并添加一个你要调用的方法。

private string add(int i, int j)

{

 return textbox1.text;

}



3.在页面中放置一个hiddenfield控件,命名为assemblyname。 并在page_load中添加如下代码:

string assemblyname = czhenq.ajax.class1.encode(

typeof(_default).assemblyqualifiedname);

assemblyname.value = assemblyname;



4.页面中添加如下脚本:

var assemblyname = document.getelementbyid("assemblyname");

var argus = new array();

argus.push("100");

argus.push("200");

callmethod(assemblyname,"add",argus);



总结 ajax并不是一种新的技术,它只是一些已有技术的有机结合,我们可以将ajax简单的理解为:ajax是对javascript调用xmlhttp的封装,它改变的是代码书写方式。

encode 与 dencode实现:

public static string encode(string value)

{

 byte[] bytes = asciiencoding.ascii.getbytes(value);

 return convert.tobase64string(bytes);

}

public static string dencode(string value)

{

 byte[] bytes = convert.frombase64string(value);

 return asciiencoding.ascii.getstring(bytes);

}

(  




 

录入:学习坊

查看对 详解如何实现最基本的AJAX框架 的评论 【 发表见解 】 【 查看见解 】 【 打印资料 】  
上一篇:AJAX是否能够取代桌面应用程序
下一篇:ASP.NET 2.0实现AJAX的Web开发
百度中>“详解如何实现最基本的AJAX框架”相关内容 google中>“详解如何实现最基本的AJAX框架”相关内容
雅虎中>“详解如何实现最基本的AJAX框架”相关内容 搜狗中>“详解如何实现最基本的AJAX框架”相关内容
中搜中>“详解如何实现最基本的AJAX框架”相关内容 爱问中>“详解如何实现最基本的AJAX框架”相关内容