面向.NET开发人员的Ajax 技术平台策略(2)_Ajax编程_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

面向.NET开发人员的Ajax 技术平台策略(2)

作者:黑客防线网安Ajax教程基地 来源:黑客防线网安Ajax教程基地 浏览次数:0

本篇关键词:技术平台策略人员
黑客防线网安网讯:2. Anthem框架NET  目前是1.0版本,其设计理念是通过另外一个思路,遵循这样的理念--既然ASP.NET的各个标准控件没有实现提交功能,那么我可以产生一个提交的接口,然后继承原来的标准控件,然...

2. Anthem框架NET

 

  目前是1.0版本其设计理念是通过另外一个思路遵循这样的理念--既然ASP.NET的各个标准控件没有实现提交功能,那么我可以产生一个提交的接口,然后继承原来的标准控件,然后再实现这个接口,这样每个控件都可以向服务器端单独进行提交

 

  每个控件的发生过程类似MagicAjax框架NET,Anthem框架NET提供了各个控件Javascript端的提交函数-这等于也截取了__doPostBack,之后Anthem框架NET 还提供了完善的客户端的事件比如PostCallBack 和PreCallBack 这样的客户端事件,之后也将使用XMLHttpRequest 模拟一个传统的页面提交请求到服务器端,服务器端生成页面实例,这个过程和MagicAjax框架NET一样,最后是将Rendered的HTML在控件的Render() 事件传回到客户端,客户端控件的innerHTML被赋值,动态更新

 

  和MagicAjax框架NET不同的是,Anthem框架NET没有容器的概念,因为每个控件都增加了提交接口,所以可以单独的提交,所以单位是以一个控件为单位进行一次提交,Anthem框架NET的花费更小些(但服务器端是类似的,因为整个ASP.NET页面的Pipeline都会进行)。

 

  此外,Anthem框架NET 还有另外的功能,就是可以通过客户端调用页面中的方法并获得结果/数据,这种情况下,你将调用Anthem_InvokePageMethod 方法,而不是Anthem框架NET提供的默认各个控件的提交方法。这样Javascript的回调处理函数中的result.value 将可以获得调用的服务端的某个方法(该方法以[Anthem框架Method]为标记)的执行结果,因为JavascriptPost的数据中有Page/MasterPage/Control 了,那么服务器端很容易通过这个标识获得方法的地址,应用反射寻找[Anthem框架Method]标记,然后调用,将结果返回到客户端。

 

  Anthem框架NET支持返回对象,DataSet,DataTable和 WriteDataRow(WriteDataSet,WriteDataTable,WriteDataRow,WriteObject),返回的是符合是JSON规范的字符串,这样客户端的Javascript就可以使用这些对象了。不同于MagicAjax框架NET,Anthem框架NET 没有使用HTTP Model,所以结果是在页面的PreRender() 事件中处理和返回请求的结果。

 

  2.1 Ajax框架NET Professional

 

  我没有看过Ajax框架NET Professional 的源代码,但从例子中看得其支持调用页面的某个方法,以及返回对象,DataSet,DataTable的数据,我认为Ajax框架NET Professional 的实现和Anthem框架NET 原理是一样的,虽然Ajax框架NET Professional 使用了HTTP Model,这个只是和Anthem框架NET 一样,最终处理结果的返回处理上稍有不同不同。比较起来,Ajax框架NET Professional 没有重新继承所有常用的ASP.NET控件实现部分提交的功能,所以可能Ajax框架NET Professional 比较强项的是调用页面上的某个方法,并在客户端获得结果的数据,这个已经够实现大部分的Ajax的功能了。

 

  从这个层面上看,我认为Ajax框架NET Professional 是相对笨重和复杂了。Anthem框架NET不使用HTTP Model,提供控件基本的局部提交,也提供数据层面的客户端方法调用。Ajax框架NET Professional 的源代码似乎总是不想共享 ,这也是我不喜欢它的另外一个原因。

无论如何,大家都没有提供两路的数据交换,即客户端可以获得服务器端的方法并获得结果和数据,但是目前都支持将这些对象/数据修改之后返回给服务器端。

 

  Anthem框架NET 的一些不足和想法:

 

  1) Anthem框架NET 也是一种"Hook ASP.NET"原理,旨在弥补ASP.NET的整页面的提交和PostBack,并且在客户端的数据访问和交互上做了加强。

 

  2) Anthem框架NET需要重新将ASP.NET提供的控件进行继承和包装,所以使用和功能的兼容性上非常敏感。

 

  3) 也许微软下个版本的ASP.NET的标准控件可以借鉴Anthem框架NET的做法,给各个控件增加这个远程回调的接口。

 

  4) 目前版本的功能已经非常强大和略有些复杂了,而且部署比较方便,无需设置HTTP Model。

 

  3. wwHoverPanel AJAX Control for ASP.NET

 

  wwHoverPanel AJAX Control for ASP.NET 这也是一个ASP.NET的控件,但是提供了客户端回调(高级回调)、客户端调用页面方法,以及双向两路的序列化功能。

 

  wwHoverPanel 吸取了MagicAjax框架NET 和 Anthem框架NET的优点,同时又结合了ASP.NET的客户端回调功能,是一个轻量级的Ajax组件。

 

  看待wwHoverPanel 最大的两个特性中的一个是用很简单的方式实现了一个HoverPanel Behavior,这个实现比目前Atalas的Behavior 要简单,作者Rick Strahl 也强调这个主要是结合他具体的应用,比如这里提供了一个小的HTML板,可以显示获得的结果信息。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-15761-1.html
网站维护教程更新时间:2023-02-16 14:12:00  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer