第1章 概述 1
1.1 Web发展历史 1
1.1.1互联网回顾 1
1.1.2主流浏览器历史 2
1.1.3 Web发展历史 4
1.2 AJAX技术产生 6
1.2.1 AJAX技术简介 6
1.2.2 AJAX幕后技术 9
1.2.3 AJAX运行原理 10
1.2.4 AJAX应用场合 11
1.2.5 AJAX应用范例 12
1.3 ASP.NET AJAX技术 18
1.4小结 19
第2章 语言基础——JavaScript 20
2.1概述 20
2.1.1 JavaScript发展历史 20
2.1.2 JavaScript特性 21
2.1.3 JavaScript用法 22
2.1.4 JavaScript安全性 23
2.2语法结构 23
2.2.1数据类型 23
2.2.2变量 26
2.2.3表达式 27
2.2.4运算符 27
2.2.5语句 28
2.2.6函数 34
2.2.7对象 37
2.2.8数组 41
2.3浏览器对象模型 46
2.3.1 window对象 46
2.3.2 document对象 48
2.3.3 forms和form对象 49
2.4文档对象模型 49
2.4.1用DOM表示HTML文档 49
2.4.2节点 50
2.4.3操作HTML文档 51
2.5事件 54
2.6小结 55
第3章 CSS样式表 56
3.1概述 56
3.1.1 CSS发展历史 56
3.1.2 CSS的作用 57
3.1.3 CSS的种类 57
3.2 CSS语法 58
3.2.1 CSS基本构成 58
3.2.2样式表的层叠性 61
3.2.3伪类 61
3.2.4如何使用CSS 62
3.3 CSS应用 63
3.3.1树形结构案例 64
3.3.2滤镜效果的应用 65
3.3.3制作下拉菜单 70
3.4小结 73
第4章 XMLHTTPRequest对象 74
4.1概述 74
4.2属性 74
4.3方法 76
4.4创建XMLHTTPRequest对象 77
4.4.1创建XMLHTTPRequest对象的步骤 77
4.4.2创建适应IE浏览器的XMLHTTPRequest对象 78
4.4.3封装创建XMLHTTPRequest对象的过程 79
4.5应用举例 80
4.5.1使用XMLHTTPRequest对象的步骤 80
4.5.2处理数据加载过程的案例 81
4.5.3创建进度条 83
4.6小结 87
第5章 XML技术 88
5.1概述 88
5.1.1 XML定义 88
5.1.2 XML可以描述的数据对象 88
5.1.3 XML语法 89
5.1.4文档类型定义 90
5.1.5可扩展样式语言 92
5.1.6 XPath 94
5.1.7 AJAX技术与XML 94
5.2操作XML文档 95
5.3 AJAX中应用XML的方式 99
5.4应用举例 101
5.4.1生成邮件 101
5.4.2生成数据表格视图 104
5.4.3垂直导航菜单 108
5.4.4水平导航菜单 112
5.5小结 120
第6章 AJAX程序设计模式和常用框架 121
6.1几种简单的设计模式 121
6.1.1替换HTML片段 121
6.1.2读取XML数据 124
6.1.3读取JavaScript数据 130
6.1.4避免浏览器缓存 130
6.1.5替换多个HTML片段 130
6.2 AJAX系统设计模式 130
6.2.1设计模式概念 130
6.2.2常用的设计模式 131
6.2.3 AJAX应用应具有的属性 132
6.2.4 AJAX应用设计原则 132
6.3常用设计框架 133
6.3.1 Prototype 133
6.3.2 JQuery 134
6.3.3 Spry 134
6.3.4 Dojo 135
6.3.5 Mootools 135
6.3.6 Atlas 135
6.3.7 AJAX.net 136
6.4小结 136
第7章 在线RSS阅读器 137
7.1概述 137
7.1.1发展历史 137
7.1.2特点 138
7.1.3 RSS技术应用现状 138
7.1.4 RSS阅读器 138
7.1.5 RSS文件 139
7.2系统设计 140
7.2.1功能分析 140
7.2.2系统框架设计 140
7.2.3软件结构设计 142
7.2.4数据库设计 142
7.3关键技术详解 142
7.3.1解析RSS文件 143
7.3.2在客户端解析参数 144
7.4系统实现 145
7.4.1添加RSS频道 145
7.4.2 RSS频道管理 147
7.4.3 RSS文件查看 154
7.5小结 156
第8章 聊天室 157
8.1系统分析 157
8.2系统设计 157
8.2.1框架设计 157
8.2.2软件结构设计 158
8.3系统实现 159
8.3.1聊天室引擎ChatEngine 159
8.3.2定义全局变量Engine 167
8.3.3 AJAX框架 168
8.3.4方法Nifty Corners Cube 173
8.3.5登录功能 173
8.3.6聊天室功能的实现 175
8.3.7服务器端功能的实现 176
8.4小结 178
第9章 ASP.NETAJAX框架 179
9.1发展历史 179
9.2 ASP.NET AJAX概述 180
9.2.1 ASP.NET AJAX的优势 180
9.2.2 ASP.NET AJAX框架 180
9.2.3 ASP.NET AJAX控件工具箱 182
9.2.4 ASP.NET AJAX社区支持 182
9.3 ASP.NET AJAX安装使用 182
9.3.1下载和安装 182
9.3.2在VS.NET 2005中使用ASP.NET AJAX 184
9.3.3配置ASP.NET AJAX 185
9.4 ASP.NET AJAX应用举例 188
9.5小结 192
第10章 UpdatePanel控件 193
10.1 UpdatePanel控件概述 193
10.1.1应用场景 193
10.1.2运行原理 193
10.2 UpdatePanel控件的属性和方法 195
10.3 UpdatePanel控件的用法 196
10.3.1指定UpdatePanel控件内容 196
10.3.2指定UpdatePanel触发器 196
10.3.3 UpdatePanel控件的刷新条件 198
10.3.4在Master页中使用UpdatePanel控件 198
10.3.5嵌套使用UpdatePanel控件 201
10.3.6以编程的方式刷新UpdatePanel控件 202
10.3.7与UpdatePanel不兼容的控件 204
10.3.8 UpdatePanel控件与Web服务综合应用 204
10.3.9 UpdatePanel控件与用户控件的综合应用 209
10.3.10定制UpdatePanel控件的错误处理 216
10.4小结 220
第11章 UpdateProgress控件 221
11.1应用场景 221
11.2运行原理 221
11.3属性和方法 221
11.3.1属性 221
11.3.2方法 222
11.4 UpdateProgress控件的用法 222
11.4.1使用单个UpdateProgress控件 222
11.4.2使用两个UpdateProgress控件 225
11.4.3停止异步回送 227
11.5 UpdateProgress控件的显示规则 230
11.6小结 230
第12章 Timer控件 231
12.1应用场景 231
12.2运行原理 231
12.3属性和方法 232
12.4 Timer控件的用法 232
12.4.1在UpdatePanel控件内部使用Timer控件 232
12.4.2在UpdatePanel控件外部使用Timer控件 234
12.4.3 Timer控件的复杂用例 237
12.5小结 240
第13章 ScriptManager控件 241
13.1概述 241
13.1.1定义 241
13.1.2部分页面刷新 242
13.1.3错误处理 242
13.1.4类型系统扩展 242
13.1.5注册自定义脚本 242
13.1.6注册Web服务 242
13.2属性和方法 243
13.3应用举例 245
13.3.1控制部分页面刷新 245
13.3.2错误处理实例 246
13.3.3调用Web服务 249
13.4小结 251
第14章 客户端脚本编程之JavaScript扩展 252
14.1 JavaScript的扩展 252
14.1.1类、成员和命名空间 252
14.1.2访问权限修饰 255
14.1.3继承 255
14.1.4接口 261
14.1.5枚举 266
14.1.6反射 268
14.2类型扩展 270
14.2.1 Array类型扩展 271
14.2.2 Boolean类型扩展 273
14.2.3 Date类型扩展 274
14.2.4 Error类型扩展 274
14.2.5 Number类型扩展 278
14.2.6 Obiect类型扩展 279
14.2.7 String类型扩展 281
14.3小结 285
第15章 客户端脚本编程之框架类 286
15.1 Sys命名空间 286
15.1.1 Sys.Application类 287
15.1.2 Sys.ApplicationLoadEventArgs类 290
15.1.3 Sys.CultureInfo类 291
15.1.4 Sys.StringBuilder类 296
15.2 Sys.Net命名空间 298
15.2.1 WebServiceProxy类 298
15.2.2 WebRequest类 303
15.2.3 XmlHttpExecutor类 313
15.3 Sys.Serialization命名空间 314
15.4 Sys.Services命名空间 317
15.4.1 AuthenticationService类 317
15.4.2 ProfileService类 326
15.4.3 ProfileGroup类 332
15.4.4 RoleService类 333
15.5 Sys.WebForms命名空间 334
15.5.1 BeginRequestEventArgs类 334
15.5.2 EndRequestEventArgs类 336
15.5.3 InitializeRequestEventArgs类 339
15.5.4 PageLoadedEventArgs类 339
15.5.5 PageLoadingEventArgs类 339
15.5.6 PageRequestManager类 339
15.6 Sys.UI命名空间 340
15.6.1 Sys.UI.Bounds类 341
15.6.2 Sys.UI.DomElemen类 342
15.7小结 345
第16章 调试和跟踪 346
16.1概述 346
16.2调试帮助器类——Sys.Debug类 346
16.3错误对象Error 350
16.4调试模式和发布模式的设置 354
16.4.1启动调试模式 354
16.4.2发布模式的设置 354
16.5服务器端跟踪 354
16.5.1启用ASP.NET页面跟踪 355
16.5.2启用应用程序跟踪 355
16.5.3查看跟踪信息 356
16.5.4自定义ASP.NET跟踪消息 360
16.6配置IE浏览器 364
16.7利用VS.NET 2005调试客户端脚本 364
16.8小结 365
第17章 ASP.NET AJAX控件开发技术 366
17.1概述 366
17.1.1 Sys.Component类 367
17.1.2 Sys.UI.Behavior类 368
17.1.3 Sys.UI.Control类 369
17.2创建不可见的客户端组件 370
17.2.1不可见的客户端组件的基本功能 370
17.2.2创建一个基于Component类客户端组件的步骤 370
17.2.3定制组件的应用 371
17.2.4实例——Demo.Timer组件的创建和应用 371
17.3创建自定义客户端控件 377
17.3.1自定义客户端控件的基本功能 377
17.3.2创建客户端控件的步骤 377
17.3.3自定义控件的使用 378
17.3.4实例——Demo.HoverButton控件的创建和应用 379
17.4扩展Web服务器控件 384
17.4.1向Web服务器控件添加ASP.NET AJAX客户端行为 384
17.4.2向Web服务器控件添加ASP.NET AJAX客户端功能 390
17.5小结 397
第18章 AJAX中的Web服务 398
18.1概述 398
18.2异步通信层 398
18.2.1异步通信层的特性 399
18.2.2客户端与服务器端的异步通信模型 399
18.2.3客户端结构 400
18.2.4服务端结构 401
18.3向客户端脚本暴露Web服务 401
18.3.1启用JavaScript调用Web服务 402
18.3.2调用ASP.NET页面中的静态方法 405
18.4从客户端调用Web服务 407
18.4.1调用Web服务 407
18.4.2 Web服务调用的错误处理 414
18.4.3客户端与服务端的复杂数据类型交换 417
18.5小结 425
第19章 BBS系统 426
19.1功能分析 426
19.2系统设计 426
19.2.1功能设计 427
19.2.2系统结构设计 430
19.2.3数据库设计 431
19.3业务逻辑层的实现 431
19.3.1 KindsTree类 432
19.3.2 Contents类 434
19.4展示层的实现 439
19.4.1登录 439
19.4.2注册 441
19.4.3讨论区导航 444
19.4.4发帖和回帖 445
19.4.5帖子浏览 447
19.5小结 453
第20章 Blog系统 454
20.1功能分析 454
20.2系统设计 454
20.2.1功能设计 454
20.2.2系统结构设计 458
20.2.3数据库设计 459
20.3业务逻辑层的实现 460
20.3.1日志类 460
20.3.2评论类 464
20.3.3日志分类类 467
20.4一个开源组件——FCKEditor 469
20.5展示层的实现 470
20.5.1日志的发表和修改功能 470
20.5.2日志阅读功能的实现 474
20.6小结 479
第21章 升级到.NET 3.5 480
21.1概述 480
21.2在Visual Studio 2008中开发AJAX项目 480
21.2.1创建ASP.NET AJAX项目 481
21.2.2多定向支持 481
21.2.3 JavaScript智能感知 482
21.2.4 JavaScript的调试 483
21.2.5 CSS编辑和管理功能 484
21.3小结 485