朗志工作室(Langzhi Studio)

江浙沪一带找工作中,欢迎联系

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  3452 Posts :: 2 Stories :: 497 Comments :: 7 Trackbacks

公告

本站大量内容为转载,一般都保留原链接,如果侵犯了你的权益,请以各种方式联系我,我会第一时间修正。

将我自己会忘记的内容,觉得好的,想法备在此处, 所以比较凌乱,莫怪
 


QQ:1036130199


msn/GTalk: Frederick.mao@gmail.com
twitter:http://twitter.com/mlzboy



新浪微博 http://weibo.com/mlzboy
profile 2011
移动充话费
我的简历2011.9

我的简历2010.7
项目截图


分享

抓虾
pageflakes
Rojo
google reader
netvibes
my yahoo
newsgator
bloglines
鲜果
哪吒
有道
QQ邮箱
抓虾
pageflakes
Rojo
google reader
netvibes
my yahoo
newsgator
bloglines
鲜果
哪吒
有道
QQ邮箱
分享家:Addthis中文版
昵称:lexus
园龄:4年10个月
粉丝:21
关注:5

搜索

 

常用链接

我的标签

最新评论

阅读排行榜

评论排行榜

推荐排行榜

目录

AjaxPro使用说明    1

目录    2

修改历史纪录    3

1、什么是Ajax    4

2、为什么使用Ajax    4

3、Ajax应用场景    4

4、Ajax开发框架    5

5AjaxPro说明    6

6AjaxPro实例说明    6

2.1、添加AjaxPro.dll应用    6

2.2、配置web.config    8

2.3、添加服务端方法    9

2.4、添加前台代码    11

2.5、运行程序,检验结果    12

 

1、什么是Ajax

 

Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写。"Ajax"这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求。

2、为什么使用Ajax

  • 减轻服务器的负担。Ajax的原则是"按需取数据",可以最大程序地减少冗余请求,减轻服务器的负担。
  • 无需刷新页面,减少用户心理和实际的等待时间。特别是在读取大量数据时,不会像刷新页面那样出现白屏的情况,Ajax使用XMLHttpRequest对象发送请求并且得到服务器响应,在不重新载入整个页面的情况下,用Javascript操作DOM更新页面。因此在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容(也可以加入一个"loading"的提示框让用户知道目前正在读取的数据),只有在数据接收完毕之后才更新社会相应部分的内容。这种更新是瞬间的,用户几乎感觉不到。
  • 带来更好的用户体验
  • 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器负担,充分利用带宽资源,节约空间和宽带租用成本。
  • 可以调用外部数据
  • 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
  • 进一步促进页面呈现与数据的分离

3、Ajax应用场景

场景1:数据验证

场景2:按需取数据

场景3:自动更新页面

4、Ajax开发框架

  • JQuery
  • Ext
  • YUI
  • Qooxdoo
  • DWR(Direct Web Remoting)

目前该产品被加入到WebWork中,开源(Apache)。可以在Javascript代码中直接调用java方法的应用框架,可以把Javascript中的请求调用转递到java方法中并将执行结果返回给Javascript。

  • AjaxPro

AjaxPro是首家支持以各种方式通过javascript访问服务端.net的免费库,类似于SAJAX。它能把Javascript请求发送到.NET方法,服务端传回给Javascript,甚至包括串行化自定义类。其主要特点如下:

可以在Javascript中访问Session和Application数据;

缓存查询结果

免费使用源代码

所有类支持Javascript客户端返回数据,可以在Javascript中使用DataSet

使用HtmlControls组件访问和返回数据

页面无需重载,用事件代理(数据访问层)

因为只提供一个调用接口方法,所以服务端CPU占用非常少。

  • Magicajax

Magicajax以最简单的方式将Ajax功能整合到页面中,不需要修改ASP.NET控件,也不需要编写新的控件,更不需要撰写JAVASCRIPT,它有如下的特性:

应用配置简单,易于上手;

只用一个AJAXPANEL就实现Ajax功能,只要把需要无刷的控件放进AJAXPANEL就可以了。

Ajax功能和普通的POSTBACK可以共存于一个WEBFORM,MAGICAJAX处理模块只处理包含在AJAXPANEL中的控件的CALLBACK动作。

VIEWSTATE的内容对于POSTBACK和CALLBACK来说,都是可见的,因此,无论是CALLBACK产生的VIEWSTATE,还是POSTBACK产生的,都是可见的;

提供一个类似POSTBACK的CALLBACK的事件模型

支持IE和Firefox

  • Anthem.NET

和传统的Ajax技术相比,Anthem.NET有以下优点:

不需要任何技术升级,以前不会使用Ajax技术的人员,按照以往的编程方式就可以实现异步交互;

支持asp.net 1.1和asp.net 2.0

5、AjaxPro说明

本文档将使用AjaxPro.Net框架实现Ajax功能:在客户端异步调用服务端方法。AjaxPro.Net是一个优秀的.net环境下的Ajax框架,用法很简单,可以查阅相关资料,本文档以一个简单的实例讲述使用AjaxPro的几个关键点,本例实现一个简单的功能,服务器端将页面中输入的数字加1后的结果返回给客户端(注意,必须有AjaxPro包,即AjaxPro.dll文件,可以在VSS上下载)。

6、AjaxPro实例说明

6.1、添加AjaxPro.dll应用

 

2.1.1VS打开项目,在其资源管理器中,右击引用,左击"添加引用",如图1_1所示

 

1-1

 

2.1.2出现如图1_2所示的对话框,点击浏览,找到AjaxPro.dll文件所在的位置,双击AjaxPro.dll,然后点击确定。

图1-2

2.1.3在资源管理器的引用文件夹下,就可以看到AjaxPro了,说明添加引用成功,如图1_3所示。

图1-3

2.2、配置web.config

这一步的作用是保证客户端向"ajaxpro/*.ashx"的请求(POST和GET)都被AjaxPro.AjaxHandlerFactory拦截。

打开web.config文件,在<configuration><system.web>后添加以下代码,

<httpHandlers>

<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>

</httpHandlers>

 

如图2_1所示。

 

2-1

 

2.3、添加服务端方法

2.3.1打开后台代码,在Page_Load方法体内加上如下代码,

 

AjaxPro.Utility.RegisterTypeForAjax(typeof(所在类的类名));

 

如图3-1所示。

3-1

 

其作用是向客户端输出下面的代码:

<script type="text/javascript" src="/ch33/ajaxpro/core.ashx"></script>

<script type="text/javascript" src="/ch33/ajaxpro/ch33.Verify,ch33.ashx"></script>

 

2.3.2、添加数字加一的方法,首先在方法前加[AjaxPro.AjaxMethod],然后像写C#方法一样写方法,如图3-2

3-2

注意:需要加上[Ajax.AjaxMethod]标识,这样才能够被客户端访问

2.4、添加前台代码

在前台添加JS脚本,调用服务器端方法,如图4-1所示(Try.AjaxTest.Add(num)Try为页面类,即AjaxTest类所在的命名空间,这里是Try;而AjaxTest即为类名,Add为方法名)

4-1

 

2.5、运行程序,检验结果

 

按以上四个步骤,就可以实现预期的效果,如图5-1所示。

图5-1

在江浙沪一带找技术工作,能提供工作的麻烦联系我
posted on 2007-11-29 18:29 lexus 阅读(13762) 评论(25) 编辑 收藏

Feedback

写得好,精彩,,顶顶,。。。
 回复 引用   
妙!妙!
 回复 引用   
请问是你自己写的吗? 如果不是的话请不要抄袭别人的东西,很没意思。中国人没有创新意识就是你们这些人的毛病,见着好的就抄来。哎,我为你感到有耻辱。。。。。。。。。。
 回复 引用   
#4楼[楼主]2008-07-12 01:02lexus      
是自己写的,这个是我们项目开发过程中写的文档,以便开发人员能够快速的进行应用。部分文字参考了一些计算机书籍,是为了使整个文档对该技术的阐述有一个完整性及连贯性。
 回复 引用 查看   
谢谢。very 好!!!
 回复 引用   
#6楼2008-08-13 11:10Kai.Ma      
very good.thanks.
 回复 引用 查看   
#7楼2008-09-27 19:5333[未注册用户]
低级的东西
 回复 引用   
最好加一个回调的示例代码。
 回复 引用   
#9楼2009-01-06 10:26★海戰鷹      
楼主的帖子实在是写得太好了。文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子 ,实在是我三生之幸啊
 回复 引用 查看   
强烈BS “没意思”这位。
哎,我为你感到有耻辱。。。。。。。。。。
并为LZ高深的修养再次深深的BS你。
 回复 引用   
这种东西的确很低级,不过适合新手哈
 回复 引用   
我靠,这个例子我在网上看到好几个博客中有这样的,到底哪个是作者呀
 回复 引用   
谢谢啦
 回复 引用   
#14楼2009-05-21 16:44微夜风      
还不错的,不过太少了,楼主应该扩展成一个系列的
 回复 引用 查看   
#15楼2009-08-16 11:43小群群      
楼主,ajaxpro好像不完全支持服务器端方法重载啊!!!!
 回复 引用 查看   
#16楼2009-09-07 16:04alisx      
哥们,辛苦了,你做的说明文档太好了,不但有代码,还有代码的截图,说明的很好,非常感谢!
 回复 引用 查看   
#17楼2009-09-09 09:42in2er      
这个东西还是比较简单的。
这些东西大家都会,现在搞这个的拼的是框架、设计模式方面。你太低级了
 回复 引用 查看   
#18楼[楼主]2009-09-09 09:53lexus      
 回复 引用 查看   
@in2er
BS,

其实这些正是我们这些初学者需要的,lz图文并茂的的文章厉害啊,
支持LZ,收藏一下.呵呵
 回复 引用 查看   
#20楼[楼主]2010-08-14 09:38lexus      
@阿K&LiveCai
这篇关于AjaxPro的文章,其实是比较早写的,那时候已经有AjaxPro 2.dll了,于是在下载相关dll的时候到底该用哪个ajaxpro dll不知道,也是费了很长的功夫,就写了这篇东西,一个是记忆一下,另外一个是帮助后人,其实在我还用过athem dll及java下的DWR都是类似ajaxpro的组件,和ajaxpro的原理都是一样的.
 回复 引用 查看   
#21楼2010-08-25 09:28Kelvin o○      
谢谢分享!对我这种刚接触ajax,又想快速上手的人来说最适合不过了
 回复 引用 查看   
#22楼2011-07-27 21:10jingjunfeng      
3楼的就是个说话不经大脑的孩子... 说难听的话,要有根据的...
 回复 引用 查看   
#23楼2011-07-29 16:31JasonT      
看代码看的头晕眼花............看看这个学习学习........偷个懒.......
 回复 引用 查看   
有用有用,,谢谢楼主
 回复 引用 查看   
#25楼2011-11-23 21:48FloraJi      
本来不打算回复的还要我登陆
其实写的真好 特别喜欢截图
 回复 引用 查看