(一)用途
以最简单的方式整合AJAX功能到页面中,不需要修改ASP.NET控件,不需要学习新的控件,不需要撰写JAVASCRIPT。
(二)特点
1,只需在WEB.CONFIG里加入一点点配置信息
2,只用一个AJAXPANNEL就实现AJAX功能
3,只要把需要无刷的控件放进AJAXPANNEL就可以了(这个好玩,局部无刷)
4,AJAXPANNEL跟ASP.NET的PANNEL控件差不多,可以在设计器里拖控件到里面(这点要提出异议,虽然他跟PANNEL一样,可是,PANNEL的设计时本来就不是令我很满意,他完全可以做得更好)
5,不需要写JAVASCRIPT(估计不少人对这个头痛)
6,实现起来太容易了,如果你有旧的站点要支持AJAX,你只要用AJAXPANNEL把这些控件包起来就OK
7,AJAX功能和普通的POSTBACK可以共存于一个WEBFORM,MAGICAJAX处理模块只处理包含在AJAXPANNEL中的控个的CALLBACK动作
8,VIEWSTATE的内容对于POSTBACK和CALLBACK来说,都是可见的,因此,无论是CALLBACK产生的VIEWSTATE也好,还是POSTBACK产生的,都是可见的(爽吧)
9,提供一个类似POSTBACK的AJAXCALL的事件模型
10,提供许多静态方法帮你处理AJAXCALL,例如发送JS到客户端
11,CALLPACK时有一个LOADING指示(跟GOOGLE差不多,不过,好像这个LOADING没法配置样式,郁闷,难道真要重编译吗?这点不好吧,毕竟这个作者应该考到)
12.MAGICAJAX的页面会缓存至IE缓存,当用户点回退按钮时,会看到他前一步的操作(爽呀,POSTBACK的那个REFRESH提示就不爽了)
13,支持IE和FIREFOX(嗯,不支持OPERA?),未来支持更多浏览器
14,还好,当浏览器不支持JS或者不是MAGICAJAX支持的类型的时候,页面将渲染成传统的形式
特性不少,最重要的是通过上面,你可以看到,它不用你大动干弋,而且兼容性确实不错,细节上处理的也好
查看文章 |
一、MagicAjax介绍
2008-07-09 15:14
一、MagicAjax介绍
(三)实现方法
AJAX是概念,不是编程语言、更不是一个dll。没有具体的实现标准。
总结一下MagicAjax的实现方法,包括一下几点:
1.通过JS截获客户端的HTML元素的事件,如FORM, INPUT等。
2.放弃默认的浏览器行为。
3.打包截获到的事件上下文。
4.通过HTTP对象把打包的内容向服务器提交。
5.服务器预先截获客户端到来的数据包,并做相应处理。
6.当服务端将要发送Response数据给客户端时,进行再次截获,更改这些数据。
7.客户端HTTP对象收到Response数据进行处理(不是浏览器处理),主要是通过DOM操作特定ID的HTML元素。
MagicAjax的指导思想是:总是通过透明的截获用户调用的方式处理正常的ASP.NET的逻辑。
|
最近读者: