AJAX技巧的风起云涌,也使得B/S利用的表现 力日益加强,大有逐步吞食C/S领地之势。利用 ajaxpro.dll,你可以从JavaScript客户调用.NET法子 。
首先下载ajaxpro.dll,你可以从获得。最新版本是6.4.15.1,下载解压后的文件夹中有个AjaxPro.dll,就是它了。应用 VS2005新建web项目,并添加对AjaxPro.dll的引用,然后在Web配置文件中添加:
这个配置项表明所有的ajaxpro/*.ashx恳求(即从客户发送的Ajax恳求)都交给AjaxPro.AjaxHandlerFactory处理 ,而不是由默认的System.Web.UI.PageHandlerFactory来处理 。新建的web项目有个默认的_Default页面,我们为其加上命名空间如MyAjaxNetTest,然后在_Default的HTML第一句也要加上这个名目空间:
然后在PageLoad中注册本页面到AjaxPro中:
测试一:
一切已经筹办就绪了,我们先进行第一个测试,从客户调用服务端的简略法子 。首先在_Default类中添加法子 :
客户现在可以在JS中调用这个法子 了,如
然后你可以加个HTML的button,onclick处理 函数设为getTime()。
测试二:
为GetServerTime法子 添加static润色,测试仍然成功 !
测试三:
简略法子 调用已经OK了,GetServerTime法子 返回的是一个简略的string,那么服务端可不可以返回稍微繁杂一点的对象了?我们来试试。先新建一个Student类:
服务端添加GetStudent法子 :
对应的,客户端添加调用:
遵循前面的加个HTML按钮测试getStudent函数,答案是,一切照我们预感的进行,客户js可以造访服务端返回的对象。
测试四:
最后看看能够在客户端提交对象给服务器,先在服务端添加法子 :
可以在第六行添加断点,然后当客户端调用时,会进入该断点。
客户端添加调用:
同样,当调用putStudent这个js法子 时,服务端进入断点已经表明客户成功 的提交了对象,并且对象的Name字段已经转变为“chenqi”了。
测试五:
前面客户设置的都是Student的public字段,那么造访属性如何了?我们将Student定义更改如下:
再重复 前面的测试,效果我想已经在你的料想 中了。
单从前面的几个小测试,我已经创造了应用 Ajaxpro.dll的方便 与迅捷,看来B/S开发不再像我以前感受的那样繁琐了。
异步调用:
Ajax根基
(1)创立 XmlHttp对象
(2)POST Ajax恳求
(3)处理 异步效果
get法子 同步
本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。