封面图
目录
- 序
- 第1章 万事开头难,从了解AJAX开始学起
- 1.1 AJAX的用户观点 1
- 1.2 AJAX的开发人员观点3
- 1.3 使用AJAX的思考6
- 1.4 AJAX应用现状9
- 结语10
- 第2章 迈向解密之路,ASP.NET AJAX技术综述
- 2.1 什么是ASP.NET AJAX12
- 2.2 探讨ASP.NET AJAX的架构13
- 2.3 探讨ASP.NET AJAX服务器端功能14
- 2.4 探讨ASP.NET AJAX的客户端功能15
- 2.5 关于ASP.NET AJAX Control Toolkit15
- 结语15
- 第3章 实现的第一步,使用UpdatePanel异步局部更新页面
- 3.1 如何异步局部更新页面16
- 3.1.1 整页更新vs异步局部更新17
- 3.1.2 实现异步局部更新19
- 页面范例1-异步更新的日期选取界面22
- 页面范例2-异步更新的日期选取界面24
- 页面范例3-异步的步进式界面24
- 页面范例4-异步的产品列表查看界面25
- 页面范例5-异步的订货金额总和查看界面27
- 页面范例6-异步的2D饼图查看界面29
- 页面范例7-异步的3D饼图查看界面33
- 页面范例8-异步的添加、修改与删除数据界面37
- 3.2 探讨UpdatePanel控件的运作方式41
- 3.3 探讨UpdatePanel控件的使用模式41
- 页面范例-示范如何在模板中使用UpdatePanel控件41
- 3.4 探讨UpdatePanel控件内容的更新时机42
- 页面范例-异步的购物车界面43
- 3.5 探讨UpdatePanel控件的触发器45
- 页面范例1-示范定义UpdatePanel控件的Triggers属性48
- 页面范例2-示范定义UpdatePanel控件的Triggers属性48
- 页面范例3-异步男女平均薪资2D饼图查看界面49
- 页面范例4-异步男女平均薪资3D饼图查看界面50
- 页面范例5-异步的一对多界面50
- 页面范例6-异步的书籍目录查看界面51
- 页面范例7-异步的产品数据搜索界面53
- 页面范例8-异步的自行车产品查看界面54
- 页面范例9-示范如何协调两个UpdatePanel控件之间的互动56
- 页面范例10-异步的格式化与数据列求和界面57
- 页面范例11-异步的添加、修改与删除数据界面(一)58
- 页面范例12-异步的添加、修改与删除数据界面(二)58
- 页面范例13-结合GridView与DetailsView的异步添加、修改与删除数据界面(含删除确认功能)59
- 页面范例14-示范如何更新其他UpdatePanel控件的内容而不更新本身的内容-非常重要!!59
- 页面范例15-示范何时需要将UpdatePanel的触发器设定成由其内部的控件事件来引发61
- 3.6 何时需要使用触发器类型PostBackTrigger63
- 页面范例1-示范如何在UpdatePanel中使用FileUpLoad控件64
- 面面范例2-搭配使用FileUpload与UpdatePanel控件来制作具备照片查看和编辑功能的添加、修改与删除数据界面65
- 3.7 如何以嵌套方式使用UpdatePanel控件70
- 页面范例1-以嵌套化方式查看产品类别与产品资料73
- 页面范例2-嵌套化的购物车74
- 页面范例3-动态变更照片显示比例81
- 3.8 如何在主控页面中使用UpdatePanel控件83
- 页面范例1-示范如何在主控页面中使用ScriptManager控件83
- 页面范例2-示范使用主控页面上的控件来局部更新内容页面内的UpdatePanel控件中的内容84
- 页面范例3-示范使用主控页面上的控件来局部更新内容页面内的UpdatePanel控件中的内容88
- 页面范例4-示范如何在内容页面中使用ScriptManagerProxy控件89
- 3.9 哪些控件不兼容于UpdatePanel91
- 页面范例-搭配使用TreeView与UpdatePanel控件93
- 第4章 一切尽其在我,探讨UpdatePanel的可编程功能
- 4.1 如何以编程方式更新一个UpdatePanel控件95
- 页面范例1-以程序代码来实现更新UpdatePanel控件(一)95
- 页面范例2-以程序代码来实现更新UpdatePanel控件(二)98
- 页面范例3-以编程方式局部更新薪资数据与2D饼图99
- 页面范例4-以编程方式局部更新产品类别照片与产品资料102
- 页面范例5-异步的自行车产品目录—重要!!106
- 页面范例6-异步的照片相簿—重要!!114
- 页面范例7-异步的水平滚动相簿—非常重要!!121
- 页面范例8-示范通过调用Update方法来灵活地显示与更新信息127
- 4.2 如何以编程方式创建一个UpdatePanel控件129
- 页面范例1-示范如何动态为页面添加一个UpdatePanel控件130
- 页面范例2-示范如何整齐排列动态添加页面中的UpdatePanel控件的内容131
- 页面范例3-示范如何动态为页面添加多个UpdatePanel控件(一)133
- 页面范例4-示范如何动态为页面添加多个UpdatePanel控件(二)137
- 页面范例5-示范如何动态为页面添加内含数据绑定控件的UpdatePanel控件138
- 4.3 如何在自定义控件中启用局部更新功能142
- 页面范例-示范创建一个启用局部更新功能的自定义控件142
- 4.4 自定义UpdatePanel控件的错误处理148
- 页面范例-示范如何捕捉与显示错误信息148
- 4.5 使用JavaScript程序代码来自定义UpdatePanel控件的错误处理150
- 页面范例-示范如何自定义局部更新期间的错误处理150
- 第5章 悠游于异步之间,探索PageRequestManager
- 5.1 什么是PageRequestManager154
- 5.2 如何取得PageRequestManager的实例154
- 5.3 客户端页面生命周期事件155
- 5.4 如何取消异步回送158
- 页面范例1-示范如何取消一个正在执行中的异步回送158
- 页面范例2-示范如何让一个异步回送拥有较高的优先级164
- 页面范例3-示范采用默认的“后者为赢”的优先级处理模式169
- 5.5 如何让UpdatePanel控件动起来171
- 页面范例1-示范如何更新UpdatePanel控件并让它晃动171
- 页面范例2-示范如何只让特定的UpdatePanel控件产生晃动效果173
- 5.6 自定义局部更新的错误处理176
- 页面范例1-示范如何自定义局部更新的错误处理177
- 页面范例2-示范如何自定义局部更新的错误处理180
- 第6章 别让用户干着急,善用UpdateProgress控件
- 6.1 自定义UpdateProgress控件的内容182
- 6.2 了解UpdateProgress控件的转译方式182
- 6.3 探讨UpdateProgress控件的显示时机183
- 页面范例1-异步数据与照片查看界面184
- 页面范例2-异步邮件发送界面189
- 页面范例3-各部门男女平均薪资的3D饼图查看界面192
- 页面范例4-异步平行输入输出界面196
- 6.4 使用JavaScript程序代码来显示与隐藏UpdateProgress控件199
- 页面范例-异步的章节目录提取界面199
- 第7章 定时操作的最佳利器,善用Timer控件
- 7.1 Timer控件的运作机制203
- 7.2 Timer控件的使用模式203
- 7.3 Timer控件的摆放位置与其影响204
- 7.4 Timer控件范例集锦208
- 页面范例1-定时显示性能计数器209
- 页面范例2-定时更新多个统计图213
- 页面范例3-自动播放相簿216
- 第8章 酷炫效果营造者,探讨AJAX Control Toolkit(上)
- 8.1 如何将AJAX Control Toolkit控件添加到Visual Studio 2005工具箱222
- 8.2 如何添加AJAX Control Toolkit控件的命名空间225
- 8.3 探讨控件与扩展器的差异226
- 8.4 探讨“可折叠面板”与“可折叠”控件227
- 页面范例1-如何使用“可折叠”控件展开或收缩内容230
- 页面范例2-在页面问卷中,使用可折叠控件以免版面过长233
- 页面范例3-示范使用可折叠控件的数据绑定功能,动态绘制柱形图233
- 页面范例4-将可折叠控件绑定至ObjectDataSource,通过Web服务存取XML格式的留言数据文件234
- 页面范例5-使用SqlDataSource作为可折叠控件的数据源,并搭配多种Control Toolkit235
- 页面范例6-使用JavaScript为“可折叠控件”添加新属性,使其看起来如同“可收缩面板”237
- 8.5 形影不离239
- 页面范例-如何使用“形影不离”扩展器显示服务器状态240
- 8.6 动画集锦243
- 8.6.1 使用XML声明式语法设定动画集锦243
- 页面范例-如何使用“动画集锦”扩展器制作“淡出”效果247
- 8.6.2 同时或循序播放动画248
- 页面范例1-如何使用Parallel与Sequence标记组合出不同的动画249
- 页面范例2-先使用Sequence标签,然后再使用Parallel标签来产生复合式的“爆炸”动画250
- 8.6.3 结合“动作”的动画252
- 页面范例1-结合“动作”的动画253
- 页面范例2-实现“自动输入完成”来查询书籍数据,并播放“动画”以显示相关信息256
- 8.7 自动输入完成260
- 页面范例-实现姓名与地址数据的自动输入完成262
- 8.8 日历扩展器267
- 页面范例1-示范“日历”扩展器的使用模式269
- 页面范例2-示范“日历”扩展器来编辑日期类型字段270
- 8.9 级联下拉菜单271
- 页面范例1-使用“级联下拉菜单”查询订单内容272
- 页面范例2-邮政编码选取界面...完全真实数据!!!277
- 8.10 可收缩面板281
- 页面范例1-示范使用“可收缩面板”来收缩或展开数据内容283
- 页面范例2-示范使用“可收缩面板”制作书籍目录284
- 页面范例3-示范使用“可收缩面板”展开与折叠统计图表284
- 页面范例4-示范如何使用水平式可收缩面板285
- 页面范例5-在可折叠控件中应用水平式可收缩面板286
- 8.11 确认按钮287
- 页面范例-示范使用“确认按钮”再次确认是否执行特定功能287
- 8.12 拖拽面板289
- 页面范例-示范使用“拖拽面板”289
- 8.13 下拉菜单290
- 页面范例-创建具备Windows SharePoint Server风格的动态下拉菜单290
- 8.14 阴影面板292
- 页面范例-使用“阴影面板”让页面画面更专业293
- 8.15 动态填充294
- 页面范例1-使用“动态填充”通过Web服务取得并显示实时天气
- 现况295
- 页面范例2-使用页面方法搭配“动态填充”控件读取RSS文章298
- 8.16 文本框过滤器301
- 页面范例1-使用文本框过滤器—简易计算器301
- 页面范例2-如何使用文本框过滤器检查所输入的个人资料是否合乎规定304
- 8.17 停靠菜单305
- 页面范例1-使用停靠菜单来修改与删除员工数据306
- 页面范例2-使用停靠菜单显示存储于数据库的产品的相片309
- 8.18 列表搜索313
- 页面范例1-使用ListSearchExtender查询邮政编码所在的县市314
- 页面范例2-使用“列表搜索”快速找到特定的选项315
- 第9章 酷炫效果营造者,探讨AJAX Control Toolkit(下)
- 9.1 探讨输入掩码与输入掩码验证器316
- 页面范例-示范如何在DetailsView中,使用“输入掩码”与“输入掩码验证器”321
- 9.2 强制弹出323
- 页面范例1-使用“强制弹出”提供变更样式的弹出菜单324
- 页面范例2-使用“强制弹出”显示相片信息326
- 9.3 互斥复选框326
- 页面范例-使用“互斥复选框”进行问卷调查327
- 9.4 拒绝机器人行为329
- 页面范例1-如何使用基本的拒绝机器人行为331
- 页面范例2-在“拒绝机器人行为”控件中,利用JavaScript进行检测332
- 页面范例3-在留言板中,为拒绝机器人行为添加DOM来避免刷屏335
- 9.5 数值调整器338
- 页面范例1-示范在GridView中使用“数值调整器”来编辑字段值340
- 页面范例2-示范如何为“数值调整器”动态添加枚举值340
- 页面范例3-调用Web服务来取得递增与递减值342
- 9.6 分页项目符号列表343
- 页面范例-示范如何使用分页项目符号列表344
- 9.7 密码强度性344
- 页面范例-示范如何使用“密码强度”扩展器347
- 9.8 弹出控件348
- 页面范例-示范在GridView控件中使用“弹出控件”扩展器349
- 9.9 评级352
- 页面范例-示范如何使用“评级”控件353
- 9.10 顺序重排列表354
- 页面范例-待办事项,可自行拖拽事项决定优先级356
- 9.11 可调整大小控件358
- 页面范例1-示范如何使用“可调整大小控件”359
- 页面范例2-示范如何使用“可调整大小控件”来随意调整GridView控件中的柱形图360
- 9.12 圆角362
- 页面范例-示范在异步相簿中,使用“圆角”扩展器363
- 9.13 滑片363
- 页面范例1-使用滑片来调整图片的高度与宽度:由服务器端控制365
- 页面范例2-使用滑片来调整图片的高度与宽度:通过JavaScript367
- 9.14 相簿播放368
- 页面范例1-“相簿播放”扩展器使用示范:逐一指定相片来源369
- 页面范例2-“相簿播放”扩展器使用示范:由文件夹取得相片来源370
- 9.15 索引标签371
- 页面范例-示范如何使用索引标签373
- 9.16 水印文本框375
- 页面范例-“水印文本框”扩展器使用示范375
- 9.17 双态按钮376
- 页面范例-双态按钮使用示范377
- 9.18 更新面板的动画效果377
- 页面范例1-示范如何使用“更新面板动画效果”扩展器赋予UpdatePanel动画效果378
- 页面范例2-示范如何使用“更新面板动画效果”扩展器赋予相簿淡入效果379
- 9.19 外显型对话框验证器380
- 页面范例-示范如何使用“外显型对话框验证器”381
- 第10章 JavaScript换新装,注入OOP新灵魂
- 10.1 面向对象功能综述382
- 10.2 如何使用命名空间与类384
- 实现演练387
- 页面范例-示范如何使用命名空间与类391
- 10.3 如何使用继承396
- 页面范例1-示范如何继承JavaScript类396
- 页面范例2-示范如何继承JavaScript类398
- 页面范例3-示范如何操作父类及派生子类403
- 页面范例4-示范如何继承AJAX Control Toolkit的动画类(一)407
- 页面范例5-示范如何继承AJAX Control Toolkit的动画类(二)410
- 10.4 如何使用接口413
- 页面范例1-示范如何定义与使用类和接口414
- 页面范例2-示范如何使用类继承与接口417
- 页面范例3-示范如何使用接口变化类功能422
- 10.5 如何使用枚举428
- 页面范例1-示范如何使用枚举429
- 页面范例2-示范如何使用类与枚举431
- 10.6 如何使用反射432
- 页面范例-示范如何使用类与反射433
- 10.7 探讨客户端页面生命周期事件436
- 10.7.1 探讨重要的客户端类437
- 10.7.2 为客户端事件编写事件处理函数437
- 10.7.3 如何使用页面的load与unload事件437
- 10.7.4 如何使用其他客户端类的事件437
- 10.7.5 客户端事件表列438
- 10.7.6 客户端事件执行顺序439
- 页面范例-具体查看客户端页面生命周期事件引发顺序441
- 10.8 探讨如何引用JavaScript文件445
- 页面范例1-示范引用独立存在的Animation.js与Timer.js来播放动画446
- 页面范例2-示范引用AjaxControlToolkit.dll组件中的Animation.js与Timer.js来播放动画448
- 10.9 探讨Array类型扩展448
- 10.10 探讨Boolean类型扩展449
- 10.11 探讨Date类型扩展449
- 10.12 探讨Error类型扩展449
- 10.13 探讨Number类型扩展450
- 10.14 探讨Object类型扩展450
- 10.15 探讨String类型扩展450
- 第11章 外部资源的异步整合,探讨如何于客户端JavaScript调用Web服务
- 11.1 异步通信层功能综述452
- 11.1.1 关于AJAX452
- 11.1.2 善用JSON453
- 页面范例1-客户端序列器与服务器还原序列器453
- 页面范例2-服务器序列器与客户端还原序列器459
- 11.1.3 送出HTTP请求462
- 页面范例-使用WebRequest对象来实现GET与POST Web请求462
- 11.2 客户端与服务器间的通信466
- 11.2.1 客户端架构466
- 11.2.2 服务器架构467
- 11.3 客户端类型简介468
- 11.4 服务器类型简介469
- 11.5 什么是Web服务469
- 11.6 如何将Web服务公开给JavaScript470
- 11.6.1 公开给JavaScript调用的Web服务所需满足的条件471
- 11.6.2 如何在页面中注册JavaScript所要调用的Web服务472
- 页面范例1-使用JavaScript调用Web服务来执行异步数据库查询474
- 页面范例2-使用JavaScript调用Web服务时的错误处理477
- 页面范例3-如何使用HTTP GET verb来调用一个Web服务方法479
- 页面范例4-使用JavaScript调用一个会返回XmlDocument对象的Web服务方法481
- 页面范例5-结合JavaScript调用Web服务方法与ASP.NET AJAX Control Toolkit的缩放式
- 异步查询界面484
- 11.7 如何让多个Web服务方法共享同一个成功回调函数490
- 页面范例-示范利用用户内容与方法名称判断调用者490
- 11.8 如何传递与接收复杂类型492
- 页面范例1-传递与接收复杂类型的自定义色彩对象492
- 页面范例2-传递与接收复杂类型的自定义菜单对象496
- 11.9 如何使用JavaScript调用远程Web服务503
- 页面范例-实现RSS订阅器503
- 11.10 如何使用JavaScript调用页面方法510
- 页面范例-结合JavaScript与页面方法制作一个自动输入完成文本框510
- 11.11 如何使用JavaScript序列器并解析Web服务所返回的DataSet、DataTable或
- DataRow对象524
- 页面范例-示范使用JavaScript序列器并解析Web服务所返回的DataSet、DataTable或
- DataRow对象526
- 第12章 探讨如何于客户端JavaScript调用ASP.NET应用程序服务
- 12.1 如何通过JavaScript使用窗体验证536
- 12.1.1 探讨AuthenticationService类的方法536
- 12.1.2 探讨AuthenticationService类的属性538
- 12.1.3 使用JavaScript来调用验证服务543
- 页面范例-示范如何在应用程序中调用窗体验证的Web服务545
- 12.2 用户配置文件551
- 12.2.1 探讨ProfileService类的属性字段551
- 12.2.2 探讨ProfileService类的方法551
- 12.2.3 探讨ProfileService类的属性552
- 12.2.4 探讨ProfileGroup类556
- 12.2.5 使用JavaScript来调用用户配置文件服务557
- 页面范例1-调用用户配置文件服务来取得与设置页面前景色和背景色558
- 页面范例2-示范如何通过客户端与服务器端程序代码存取用户配置文件566
- 第13章 缝制新装为自己量身打造才有趣—探讨创建具备客户端功能的组件
- 13.1 如何创建自定义的客户端DOM元素事件571
- 13.1.1 如何将事件处理函数绑定至DOM元素事件571
- 页面范例-示范如何将事件处理函数绑定至DOM元素事件572
- 13.1.2 如何创建与移除自定义的事件处理函数573
- 13.1.3 如何引发自定义事件574
- 13.2 如何创建非可视客户端组件574
- 页面范例-示范如何创建与使用非可视客户端组件575
- 13.3 如何创建客户端行为581
- 13.4 如何创建客户端控件582
- 页面范例1-查看客户端控件的执行效果583
- 页面范例2-实现具备鼠标移入、移出与单击功能的客户端控件587
- 13.5 如何创建扩展器593
- 页面范例1-示范如何创建与使用扩展器595
- 页面范例2-验证身份证号码的扩展器599
- 13.6 如何将扩展器编译成组件602
- 13.7 如何创建具备客户端功能的Web服务器控件604
- 页面范例1-示范如何创建与使用具备客户端功能的Web服务器控件606
- 页面范例2-示范如何创建与使用具备验证身份证号码客户端功能的Web服务器控件609
- 附录 范例安装与使用说明610
- A.1 安装SQL Server 2005 Express Edition610
- A.2 安装范例数据库并复制范例网站610
- A.3 使用网页范例610
- A.4 注意事项611
- A.5 如何查看研讨会实况影片611