谁能说一下基于服务器端的ajax framework和基于客户端的ajax framework各有啥特点。比较有代表性的产品是哪些啊。做ajax项目的时候一般如何选择?。
还有asp.net ajax 和 ajax control toolkit有啥关系啊,貌似是同一个产品?

解决方案 »

  1.   

    对于asp.net,它就是举手之劳的两个小功能:updatepanelScriptService的区别。别把它忽悠成两种多么大的设计框架。
      

  2.   

    ajax control toolkit最初是asp.net项目组组织的许多第三方公司开发的辅助的组件包,后来asp.net也把它纳入自己的范畴。
      

  3.   

    给你大致说一下主要原理吧:updatepanel对于程序员的支持相当于winform开发环境(虽然还是弱很多)。它自动处理界面上所有控件的状态保持、变化,你任何时候取都是真实状态值,你任何时候改变它都会自动维持着。比如你将GridView某一行修改为Edit状态,假设是修改商品信息,然后这时候在GridView外边的一个FormView里选择编辑商品厂商信息,修改完并保存厂商信息之后,继续去编辑商品信息(此时新的厂商信息用于这个商品)。这个过程中,当FormView刷新页面时,GridView上的任何状态都不会都是,你可以随时读取GridView上控件的状态值用于其它地方。updatepanel当然需要占用服务器cpu时间。因为这些状态没有缓存,而是每一次页面回发时都要重建页面控件,然后重新填入上一次输出html时的状态,然后读取当前回发所发来的新数据,然后触发页面的page_load事件(这样你可以编程来动态加载控件),然后触发各种控件的xxxxxChanged类似的事件,最后再触发回发时当初用户触发的那个控件(例如FormView中的Update按钮),最后输出较多的html代码到浏览器。而asp.net直接调用asmx,则是轻量级的,服务器仅仅执行一个小的计算程序,就把产生的非常简短的输出传给浏览器,可能速度比updatepanel快100倍。当然它无法自动维系界面状态,因为它更根本不知道维系界面控件组织架构,它只是一个极度轻量级的小计算功能而已。