第一部分 客户端代码 2
第1章JavaScript编程 2
1.1常规的JavaScript 2
1.1.1 JavaScript介绍 2
1.1.2语言特性 3
1.1.3简单数据类型 4
1.2 string 5
1.2.1对象 6
1.2.2变量和函数参数 11
1.2.3错误处理 17
1.2.4使用超时和间隔延迟代码执行 21
1.3面向对象JavaScript编程 27
1.3.1抽象数据类型 27
1.3.2继承 32
1.4小结 35
第2章 微软AJAX库编程 36
2.1扩展内置的JavaScript类型 36
2.1.1布尔类型 36
2.1.2日期类型和数据类型 37
2.1.3字符串类型 37
2.1.4数组类型 38
2.2扩展微软AJAX库 41
2.2.1类 41
2.2.2接口 46
2.2.3枚举 50
2.2.4继承和接口实现 54
2.3重要的新类型 61
2.3.1 Sys.EventHandlerList 61
2.3.2 Sys.StringBuilder 65
2.3.3 Sys.Debug 66
2.3.4 Sys.UI.DomElement 70
2.3.5 Sys.UI.DomEvent 74
2.4维护范围 77
2.4.1委托 78
2.4.2回调 79
2.5小结 80
第二部分 控件 82
第3章 组件 82
3.1组件定义 82
3.2 Sys.Component 84
3.2.1定义新组件 86
3.2.2创建组件 90
3.2.3封装组件 102
3.3控件 102
3.3.1新概念 103
3.3.2定义一个新控件 104
3.3.3创建一个控件 106
3.3.4封装控件 107
3.4 behavior 107
3.4.1定义一个behavior 108
3.4.2创建一个behavior 109
3.4.3封装behavior 113
3.5小结 113
第4章Sys.Application 114
4.1背景资料 114
4.1.1创建Sys.Application 114
4.1.2类型信息 116
4.1.3方法信息 116
4.2组件管理 117
4.2.1添加组件 118
4.2.2查找组件 120
4.2.3删除组件 123
4.2.4返回组件 124
4.3初始化流程 124
4.3.1组件创建过程 127
4.3.2 Load事件 134
4.4 unload流程 138
4.5小结 140
第5章 为服务器控件添加客户端能力 141
5.1脚本生成体系结构 141
5.1.1 behavior和控件的脚本生成 142
5.1.2 Script资源 146
5.1.3 ScriptManager 147
5.2使用ExtenderControl添加客户端behavior 149
5.2.1 ExtenderControl概述 149
5.2.2创建一个Extender控件 150
5.3使用ScriptControl添加客户端功能 158
5.3.1 ScriptControl概述 159
5.3.2创建ScriptControl 161
5.4使用IScriptControl接口添加客户端功能到复合控件中 168
5.4.1复合控件概述 168
5.4.2 IScriptControl接口 170
5.4.3创建复合控件 170
5.5小结 174
第6章ASP.NET AJAX本地化 175
6.1 ASP.NET中的本地化 175
6.1.1决定需要本地化的内容 176
6.1.2在特定文化背景下运行程序 180
6.1.3本地化所显示的值 183
6.2 ASP.NET AJAX本地化 190
6.2.1 JavaScript本地化功能 191
6.2.2 ASP.NET AJAX本地化功能 193
6.3小结 217
第7章 在局部回传环境中进行控件开发 219
7.1 UpdatePanel行为 219
7.2局部回传在客户端组件的效果 224
7.2.1 behavior和控件的自动释放 227
7.2.2组件的自动释放 234
7.2.3组件、控件或behavior的手动释放 236
7.3 JavaScript语句和文件的加载 247
7.3.1 ScriptManager Registration方法 247
7.3.2 Sys.Application.notify-ScriptLoaded() 252
7.4 Sys.Application事件 253
7.4.1 Init事件 253
7.4.2 Load事件 254
7.5小结 256
第三部分通信 258
第8章ASP.NET AJAX通信架构 258
8.1新的信道通信范例 258
8.2ASP.NET AJAX 2.0扩展通信架构 260
8.2.1 Web服务 260
8.2.2网页方法 267
8.2.3串行化 268
8.2.4服务器框架组件 273
8.3微软AJAX库通信架构 277
8.3.1服务代理 278
8.3.2串行化 287
8.3.3 Web请求 288
8.3.4 Web请求核心 292
8.4小结 293
第9章 应用程序服务 294
9.1 ASP.NET 2.0的Membership、 Role和User Profile服务 294
9.1.1 Forms认证 294
9.1.2 ASP.NET 2.0 Provider模型 296
9.1.3网站管理工具 298
9.1.4成员资格 299
9.1.5角色 301
9.1.6配置 307
9.2 ASP.NET AJAX应用服务 309
9.2.1认证服务 309
9.2.2角色服务 313
9.2.3配置服务 314
9.3自定义应用服务 317
9.3.1 HTTP Handler Factory和支持类 319
9.3.2服务代理 327
9.3.3配置 330
9.4小结 331
第四部分AJAX控件工具箱 334
第10章ASP.NET AJAX控件工具箱架构 334
10.1工具箱概要 334
10.1.1基于属性简化开发 334
10.1.2丰富的.NET类 334
10.1.3丰富的JavaScript类 335
10.1.4支持动态化 335
10.2工具箱的构成 335
10.2.1安装 335
10.2.2解决方案的结构 336
10.3基于服务端架构 337
10.3.1属性 337
10.3.2扩展和脚本控件的基类 340
10.3.3设计类 343
10.4基于客户端的架构 346
10.4.1 BehaviorBase类 346
10.4.2 ControlBase类 347
10.5 Animations 347
10.5.1 animation结构和类型 348
10.5.2客户端架构 348
10.6小结 355
第11章 使用ASP.NET AJAX工具箱给服务器控件添加客户端功能 356
11.1使用ExntenderControlBase添加客户端行为 356
11.1.1 Visual Studio 2008扩展控件模板库 356
11.1.2继承自ExtenderControl-Base类 359
11.1.3创建AjaxControlToolkit.BehaviorBase类 361
11.1.4向控件添加extender 363
11.1.5最后的思考 363
11.2添加设计时支持到你的Extender控件上 364
11.2.1默认的设计时体验 364
11.2.2给属性添加设计器和编辑器 365
11.3给extender控件添加animation 370
11.3.1使用JavaScript API的animation 370
11.3.2使用声明式方法的animation 373
11.4小结 377
第五部分 附录 380
附录A Visual Studio 2008中的JavaScript 380
附录B验证方法参数 386
附录C ASP.NET handlers和modules 389
附录D客户端错误处理代码 396