本书系统介绍ASP.NET Ajax程序设计知识,共3卷。本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,或是基于ASP.NET 2.0的一些简单Ajax功能的实现。
本卷适合对ASP.NET AJAX有兴趣,并希望对其有更进一步了解的Web开发人员阅读。
第0章 客户端与服务器端编程模型
0.1 将表示层完全放到客户端
0.2 将表示层完全放到客户端的优势
第一部分 ASP NET AJAX 1.0核心
第1章 ASP NET AJAX对JavaScript的扩展
1.1 基本类型扩展
1.2 面向对象支持
1.3 组件扩展
1.4 增强的DOM操作
1.5 其他常用扩展
1.6 ASP NET AJAX框架下的客户端Web应用程序
1.7 小结
第2章 异步通信层
2.1 异步通信层的功能
2.2 异步通信层的架构
2.3 常用类型介绍
2.4 客户端Sys Net WebRequest组件
2.5 示例程序:使用客户端Sys Net Web Request组件实现异步通信
2.6 小结
第3章 异步调用Web Service和页面中的类方法
3.1 调用Web Service
3.2 调用页面中的类方法
3.3 处理异步调用中的异常
3.4 保持用户上下文
3.5 异步通信层生成的客户端代理类
3.6 使用HTTPGET进行调用
3.7 服务器端和客户端数据类型的自动
3.8 以XML方式序列化数据
3.9 小结
第4章 客户端页面生存周期
4.1 维护客户羰应用程序的Application对象
4.2 示例程序:维护客户端组件
4.3 管理异步回送过程的
4.4 客户端页面生存周期总结
4.5 示例程序:防止用户多次提交
……
第5章 应用程序服务和本地化
第二部分 ASP.NET AJAX Futures CTP
第6章 客户端组件、XML脚本语言与绑定
第7章 简单客户端控件组件
第8章 数据源组件和数据绑定UI控件
第9章 实现客户端拖放效果
第10章 通过Web Service桥调用远程Web Service
第三部分 实例程序
第11章 实例程序:RSS阅读器
附录 使用ASPNETAJAX JavaScipt Class Browser查看客户端类型
陈黎夫(Dflying Chen)微软公司Atlas创始团队——Windows Live Hotmail的软件开发工程师,曾使用Atlas参与开发下一代Email系统Windows Live Mail以及Windows Live Calendar等产品,擅长Web相关技术,有着近8年的Web开发经验。作为Atlas在中国的传道者之一,他在个人博客(http://dflying.cnblogs.com/)中写过大量的Atlas技术文章,并引起了广泛反响。
在最近的一年以及今后的三五年内,我们有理由相信Web应用程序将受到更多开发者和用户的青睐。领路人Google的一系列基于Web的产品完全颠覆了传统的网页概念,让用户甚至不敢相信基于浏览器的程序竟能实现如此强大的功能。浏览器这座宝库在沉睡多年之后终于被一个名为Ajax的“阿里巴巴”轻轻打开了一道缝隙。
微软公司自然不会对这片新大陆坐视不理。作为其首推的下一代网络用户界面的核心Ajax框架——ASP.NET AJAX(开发代号Atlas)就这样应运而生。虽然来得迟了一些,但出现后却立即得到开发者极为广泛的关注。依我之愚见,有如下几个原因。
功能强大:Ajax的“框架”有很多,但其中大多数与其说是框架,不如说是一些“类库”或“辅助函数库”,所能实现的也仅仅是让客户端的JavaScript调用XMLHttpRequest更加容易一些等简单的辅助功能。而ASP.NET AJAX作为微软的一整套Ajax解决方案,提供了众多其他框架难以企及的完善而强大的功能,例如JavaScript的完全面向对象支持、服务器端对客户端功能的封装等。
与ASP.NET结合紧密:随着对富客户端功能越来越多的需求,设计之初并没有考虑到纯粹的ASP.NET 2.0在刚刚出世之后就会立即陷入被淘汰的边缘,这时ASP.NET AJAX作为ASP.NET最重要的客户端补充及时出现,二者珠联璧合,交相辉映,使微软的Web解决方案能够上下贯通、趋于完美。ASP.NET AJAX也将在正式发布时成为ASP.NET 3.0的一部分。
易于使用:ASP.NET提出的服务器端页面模型是Web开发中的一次革命,它将HTML代码依照逻辑从属关系用服务器端控件封装起来,极大地提高了Web开发的效率。ASP.NET AJAX在这一点上和ASP.NET一脉相承,不过它作为ASP.NET在客户端的补充,将HTML标签作为客户端控件封装了起来。众所周知,HTML文档是结构化的,加上服务器和客户端的无状态通信过程,导致了其开发模型大多以面向过程为主。而通过ASP.NET和ASP.NET AJAX的这种基于控件和组件的封装,开发者可以容易地使用流行且更加合理的面向对象方式来设计Web应用程序。加之强大的Visual Studio支持,哪怕开发者不书写、甚至不懂得JavaScript,都能够创建出无以伦比的客户端Ajax应用程序。
开发模式新颖:所谓“树大招风”,微软公司在开发者,特别是开源阵营的开发者中口碑并不是很好,并往往被冠以“独断专横”的恶名。然而ASP.NET AJAX的开发模式却与微软公司传统的产品开发模式大相径庭。在微软公司内,传统的开发模式是在软件即将上市时发布一到两个Beta版本,并只对这个版本进行很少的修改后就正式发布,这往往导致了如此的结果:辛辛苦苦开发出的产品功能非常强大,但却不是用户所需要的,或是用户觉得使用起来并不顺手。ASP.NET AJAX的开发充分吸取了这一教训,在大约一年半的开发过程中,每4~6周会发布一个最新的预览版本,更快地得到用户的反馈,并随之对产品的发展方向加以调整。将近一年的开发历程证明,这种方式受到了社区非同寻常的好评,也使ASP.NET AJAX框架的形象变得平易近人,甚至好多微软“敌对”阵营(例如PHP、Java等)的开发者都在各自的平台上开始使用ASP.NET AJAX。
综上所述,ASP.NET AJAX的前景一片乐观,定当在未来的几年内受到越来越多的开发者的关注,并毫无疑问地成为如同ASP.NET一样令人瞩目的开发框架。
内容介绍
作为一门还在发展中的技术,ASP.NET AJAX才刚刚发布了初始的1.0版本,甚至目前尚无完备的参考文档等官方资源。因此,我将在书中讲述ASP.NET AJAX的方方面面,从最基础的“Hello World”示例到复杂的整站程序和底层的实现原理分析,从最简单的客户端效果到其深层次的用户心理学分析及用户体验改善。
正因为本书的介绍范围广泛,所以有必要将其分3卷出版,以便于读者根据实际需要有所选择地进行阅读。而这3卷中的核心思想则始终是提高用户体验,这也正是Ajax的根本理念。
第Ⅰ卷:服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit
第Ⅰ卷从最易于理解和使用的部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者具备任何客户端开发知识,只要在Visual Studio中拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,或是基于ASP.NET 2.0的一些简单Ajax功能的实现。
此外,这一卷力求在给入门开发者提供一个完整的ASP.NET AJAX架构总览的同时,也能适当介绍深入些的内容,包括部分原理、实现等。
第Ⅱ卷:客户端Microsoft AJAX Library相关
第Ⅱ卷就是你现在看到的这本书。其中侧重分析了ASP.NET AJAX框架的客户端部分,包括对JavaScript在面向对象、DOM操作方面的扩展,ASP.NET AJAX客户端组件,ASP.NET AJAX XML脚本等,还将介绍ASP.NET AJAX框架为我们在客户端用JavaScript与服务器端通信而创造的种种便利条件,包括直接调用Web Service、页面方法以及ASP.NET应用服务(例如身份验证、用户个性化以及全球化服务)等。ASP.NET AJAX框架的客户端部分适合从零开始创建完善、复杂、高效的Ajax应用程序。
第Ⅲ卷:高级主题
第Ⅲ卷将介绍ASP.NET AJAX相关的高级主题,包括ASP.NET AJAX应用程序的调试方法和技巧、性能优化、部署、源代码结构及部分源代码分析、客户端/服务器端自定义组件/控件的开发等内容。
除此之外,这一卷还将更加紧扣Ajax的核心思想——提高用户体验,包括用户心理学、用户行为分析理论等内容,深层次挖掘提高用户体验的方法。
本卷结构
第0章 客户端与服务器端编程模型
本章承接第Ⅰ卷,简单比较了ASP.NET AJAX服务器端编程模型和客户端编程模型,力求帮助读者承上启下,更快地从熟悉的ASP.NET AJAX服务器端编程模型切换至本卷所要介绍的客户端编程模型中。
第一部分 ASP.NET AJAX 1.0核心
第1章 ASP.NET AJAX对JavaScript的扩展
本章介绍了ASP.NET AJAX客户端框架对JavaScript进行的一系列扩展,只有基于这些扩展构成的坚实基础,我们才能容易地进行后续开发。这些扩展包括基本类型扩展、面向对象支持、组件扩展、增强的DOM操作以及其他常用扩展等。
第2章 异步通信层
异步通信功能是Ajax中的核心理念,本章详细介绍了ASP.NET AJAX框架中异步通信层的方方面面,旨在为读者提供关于异步通信层的完整和清晰的认识。包括异步通信层的功能、架构以及常用类型等,并在最后通过示例程序演示了客户端应用程序通过异步通信层与服务器端交互的方法。
第3章 异步调用Web Service和页面中的类方法
ASP.NET AJAX异步通信层为我们在客户端JavaScript中调用服务器端Web Service或ASP.NET页面中的类方法提供了极为便利的基础设施,不但无需掌握任何具体的Ajax实现原理,甚至允许我们在JavaScript中直接用熟悉的、类似C#语言的语法来完成一次与服务器的异步通信。鉴于其重要性,本章用大量的示例程序全面地演示了异步通信层生成客户端代理的种种使用方法与具体操作细节,包括调用Web Service、调用页面中的类方法、处理异步调用中的异常、保持用户上下文、使用HTTP GET调用、以XML方式序列化数据等,并极为详细地归纳总结了服务器端和客户端数据类型的自动转换规则。
第4章 客户端页面生存周期
本章介绍了ASP.NET AJAX客户端框架提供的、与ASP.NET服务器端页面生存周期有着异曲同工之妙的客户端页面生存周期模型。包括维护客户端应用程序的Application对象和管理异步回送过程的PageRequestManager对象的功能和使用方法,以及由这两个对象暴露出事件所组成的客户端页面生存周期的各个阶段等内容;并通过多个实际开发中经常用到的实例程序,演示了借助客户端页面生存周期并配合UpdatePanel控件对异步回送过程进行全面、精确控制的方法。
第5章 应用程序服务和本地化
本章介绍了ASP.NET AJAX框架对从客户端通过JavaScript对ASP.NET 2.0应用程序服务(身份验证服务和用户个性化服务)的支持以及其提供的充分可定制能力;并通过示例程序介绍了ASP.NET AJAX框架对客户端脚本本地化功能的支持。
第二部分 ASP.NET AJAX Futures CTP
第6章 客户端组件、XML脚本语言与绑定
本章分类介绍了ASP.NET AJAX Futures CTP中提供的丰富的客户端组件,以及其引入的ASP.NET AJAX XML脚本语言编程模型,并与传统的JavaScript编程模型进行了比较;进而引出配合ASP.NET AJA
无封面