增加 Product : 请求 | 数据流量 | 说明 |
Prototype |
PrototypeServerResponse.aspx ?action=addProduct&productName=Sony &manufacturer=China | Request Count: 1 Bytes Sent: 467 Bytes Received: 2,050 | 传送 ProductName 等参数,完成增加操作,并获取 JSON 格式的 Product 列表。 |
Ajax.NET Pro |
ajaxpro/AjaxProDemoSecond, App_Web_qgwv3twq.ashx | Request Count: 1 Bytes Sent: 529 Bytes Received: 1,364 | 调用远程 RPC 接口,完成增加操作,并获取 HTML 格式的 Product 列表。 |
Atlas |
AtlasDemo.aspx | Request Count: 1 Bytes Sent: 2,249 Bytes Received: 6,533 | 触发 Server 端的 Action 事件,完成增加操作,需要 Postback 整个页面。 |
结论: 从上述对比表中可以看到, Atlas 在实现无刷新的显示过程中,还是需要 Postback 整个页面,只是这个过程是以异步方式进行处理的;当 Server 端完成响应后, Atlas 客户端根据页面的时候完成 partial-page 的更新。所以对于任何局部页面的操作,页面的 Postback 还是需要的。如果页面的数据量特别大, Atlas 将会导致效率的降低。 Prototype 和 Ajax.NET Pro 的数据量差别不大。
B 、开发效率 Atlas 紧密的和 .NET 的控件结合在一起。如果使用 Atlas ,则可以最大程度的复用 .NET 的控件,比如数据显示控件。 使用 Prototype ,需要在 Javascript 代码中提交 Request 请求到 Server ,并且编写相应的 callback 函数完成 Response 结果的解析和呈现。 使用 Ajax.NET Pro ,可以直接调用 Server 的类的方法(远程 RPC ),不过还是需要编写相应的 callback 函数完成 Response 结果的解析和呈现。
C 、 Server 端返回的数据格式 Ajax.NET Pro 中提供了序列化成 JSON 格式的接口和方法。 Server 端返回的数据格式,可以是简单的 Text ,也可以是 XML 文档,或者通过 Ajax.NET Pro 序列化成 JSON 格式。
三 使用Ajax需要注意的问题
暂缓。
四 参考材料
Micorsoft Fiddler HTTP Debugger : http://www.fiddlertool.com/fiddler/ Prototype : http://prototype.conio.net/ Ajax.NET Pro : http://www.ajaxpro.info/ Atlas Beter 2 : http://ajax.asp.net/default.aspx?tabid=47
点击这里
下载Demo源码
点击这里下载Demo Web Site