《ASP.NET AJAX程序设计——第II卷:客户端Microsoft AJAX Library相关》定稿+详细章节列表
篇幅和第I卷相仿,内容则专注于客户端相关部分。该书现已定稿,正处于出版过程中。下面是详细的章节目录,我也会尽快和出版社、相关网站等沟通,开放试读:
第0章 客户端与服务器端编程模型
0.1 将表现层逻辑完全放在客户端
0.1.1 传统的ASP.NET编程模型
0.1.2 ASP.NET AJAX服务器端编程模型
0.1.3 ASP.NET AJAX客户端编程模型
0.2 将表现层逻辑完全放到客户端的优势
第1章 ASP.NET AJAX对JavaScript的扩展
1.1 基本类型扩展
1.1.1 Array类型的扩展
1.1.2 Boolean类型的扩展
1.1.3 Date类型的扩展
1.1.4 Error类型的扩展
1.1.5 Number类型的扩展
1.1.6 Object类型的扩展
1.1.7 String类型的扩展
1.2 面向对象支持
1.2.1 声明命名空间
1.2.2 定义类
1.2.3 实现继承
1.2.4 覆写父类的方法
1.2.5 定义接口与实现接口
1.2.6 定义枚举类型
1.2.7 反射(Reflection)的支持
1.3 组件扩展
1.3.1 Sys.Component基类
1.3.2 Sys.UI.Control基类
1.3.3 Behavior基类
1.4 增强的DOM操作
1.4.1 DomElement类
1.4.2 DomEvent类
1.4.3 Sys.UI命名空间中的其他扩展
1.5 其他常用扩展
1.5.1 使用Sys.StringBuilder类高效地操作字符串
1.5.2 使用Sys.Debug类输出调试信息
1.6 ASP.NET AJAX框架下的客户端Web应用程序
1.7 小结
第2章 异步通讯层
2.1 异步通讯层的功能
2.2 异步通讯层的架构
2.2.1 客户端架构
2.2.1.1 核心通讯组件
2.2.1.2 支持组件
2.2.2 服务器端架构
2.2.2.1 核心通讯组件
2.2.2.2 支持组件
2.3 常用类型介绍
2.3.1 客户端类型
2.3.2 服务器端类型
2.4 客户端Sys.Net.WebRequest组件
2.5 示例程序:使用客户端Sys.Net.WebRequest组件实现异步通讯
2.5.1 页面基础设施
2.5.2 使用POST方法请求服务器
2.5.3 使用GET方法请求服务器
2.5.4 运行示例程序
2.6 小结
第3章 异步调用Web Service和页面中的类方法
3.1 调用Web Service
3.2 调用页面中的类方法
3.3 处理异步调用中的异常
3.4 保持用户上下文
3.5 异步通讯层生成的客户端代理类
3.6 使用HTTP GET进行调用
3.7 服务器端和客户端数据类型的自动转换
3.7.1 基本类型
3.7.2 枚举类型
3.7.3 复杂类型
3.7.4 泛型集合类型
3.7.5 数组类型
3.7.6 DataTable和DataSet
3.8 以XML方式序列化数据
3.9 小结
第4章 客户端页面生存周期
4.1 维护客户端应用程序的Application对象
4.1.1 客户端应用程序事件
4.1.2 维护客户端应用程序中的组件
4.1.3 通知脚本加载完成
4.1.4 延迟加载脚本
4.2 示例程序:维护客户端组件
4.2.1 编写自定义Clock组件
4.2.2 在应用程序中添加Clock组件
4.2.3 取得程序中现存组件的信息
4.2.4 查找并移除Clock组件
4.3 管理异步回送过程的PageRequestManager对象
4.3.1 PageRequestManager对象的事件
4.3.2 PageRequestManager对象的属性和方法
4.4 客户端页面生存周期总结
4.4.1 典型的客户端页面生存周期
4.4.2 示例程序:客户端事件的触发顺序
4.4.3 常见场景下的客户端页面生存周期
4.5 示例程序:防止用户多次提交
4.6 示例程序:停止正在执行的异步回送
4.7 示例程序:在进行异步回送时给用户充分提示
4.8 示例程序:处理异步回送时发生的异常
4.9 示例程序:管理多个异步回送的优先级
4.10 示例程序:在异步回送中稍带数据
4.11 小结
第5章 应用程序服务和本地化
5.1 身份认证组件:AuthenticationService
5.1.1 login()方法
5.1.2 logout()方法
5.1.3 常用属性
5.2 示例程序:实现用户登录和注销
5.2.1 启用身份认证应用程序服务
5.2.2 配置Membership数据库并创建用户
5.2.3 创建受保护的目录
5.2.4 示例程序的UI部分
5.2.5 示例程序的JavaScript代码部分
5.2.6 运行示例程序
5.3 用户个性化组件:ProfileService
5.3.1 load()方法
5.3.2 save()方法
5.3.3 properties字段
5.3.4 常用属性
5.4 示例程序:读取、修改并保存用户个性化信息
5.4.1 启用用户个性化应用程序服务
5.4.2 示例程序的UI部分
5.4.3 示例程序的JavaScript代码部分
5.4.4 运行示例程序
5.5 自定义应用程序服务的服务器端实现
5.5.1 自定义身份认证Web Service
5.5.2 自定义用户个性化Web Service
5.6 创建支持多语言的ASP.NET AJAX站点
5.6.1 让ASP.NET页面支持多语言
5.6.2 创建支持本地化的JavaScript脚本文件
5.6.3 使用ScriptManager将多语言脚本文件引入到页面中
5.6.4 根据用户区域设定自动选择站点语言
5.6.5 让用户手工选择站点语言
5.7 小结
第6章 客户端组件、XML脚本语言与绑定
6.1 与服务器端组件媲美的客户端组件
6.1.1 客户端组件的基本概念
6.1.2 客户端组件分类
6.2 一种新的编程模型——ASP.NET AJAX XML脚本
6.2.1 使用JavaScript以编程的方式实现
6.2.2 使用ASP.NET AJAX XML脚本以声明的方式实现
6.2.3 混合使用JavaScript和ASP.NET AJAX XML脚本
6.3 面向组件的编程思维
6.4 绑定——组件之间的粘合剂
6.4.1 初识绑定:简单的示例程序
6.4.2 绑定详解
6.5 在绑定中使用转换器
6.6 示例程序:使用ASP.NET AJAX XML脚本和ASP.NET AJAX客户端组件实现搜索功能
6.6.1 创建提供搜索服务的Web Service
6.6.2 编写页面的HTML部分
6.6.3 编写页面的ASP.NET AJAX脚本代码部分
6.6.4 运行示例程序
6.7 小结
第7章 简单客户端控件/组件
7.1 基本UI控件
7.1.1 封装了DOM元素的UI控件
7.1.2 InputControl和TextBox控件
7.1.3 Button控件
7.1.4 CheckBox控件
7.1.5 Label控件
7.1.6 HyperLink控件
7.1.7 Selector控件
7.1.8 Image控件
7.1.9 使用基本UI控件
7.2 使用动作组件响应事件
7.2.1 Action基类介绍
7.2.2 使用SetPropertyAction动作设置组件的属性
7.2.3 使用InvokeMethodAction动作调用组件的方法
7.2.4 使用PostBackAction动作模拟回送操作
7.2.5 在JavaScript中以编程方式使用动作组件
7.2.6 示例程序:控制页面内容的字号
7.3 使用验证器组件验证输入
7.3.1 Validator基类、ValidationErrorLabel控件以及验证过程
7.3.2 使用RequiredFieldValidator验证器确保存在输入
7.3.3 使用TypeValidator验证器确保输入值为特定类型
7.3.4 使用RangeValidator验证器确保输入值的范围
7.3.5 使用RegexValidator验证器用正则表达式验证输入
7.3.6 使用CustomValidator验证器自定义验证流程
7.3.7 使用ValidationGroup组合多个验证器
7.3.8 在JavaScript中以编程方式使用验证器
7.3.9 示例程序:验证输入表单
7.4 使用行为组件增强用户界面的功能
7.4.1 使用ClickBehavior为DOM元素添加click事件
7.4.2 使用OpacityBehavior控制DOM元素的不透明度
7.4.3 使用LayoutBehavior设定DOM元素的位置
7.4.4 在JavaScript中以编程方式使用行为组件
7.4.5 在行为组件中使用绑定
7.5 使用动画组件实现动画效果
7.5.1 Animation基类介绍
7.5.2 使用FadeAnimation动画实现淡入淡出效果
7.5.3 离散属性动画
7.5.4 示例程序:使用DiscreteAnimation动画实现抽奖功能
7.5.5 连续属性动画
7.5.6 组合动画
7.6 客户端的计数器——Counter组件
7.6.1 Counter组件介绍
7.6.2 示例程序
7.7 使用Timer组件在客户端定时触发事件
7.7.1 Timer组件介绍
7.7.2 示例程序:定时查询服务器获得最新信息
7.8 小结
第8章 数据源组件和数据绑定控件
8.1 组件化的数据访问模型
8.2 为数据绑定UI控件提供数据
8.2.1 服务器端DataService类
8.2.2 完善的客户端DataTable对象
8.2.3 客户端DataSource数据源
8.2.4 客户端XMLDataSource数据源
8.2.5 客户端数据的修饰者——DataView
8.3 使用ListView控件显示列表数据
8.3.1 DataControl控件介绍
8.3.2 ListView控件介绍
8.3.3 示例程序
8.3.4 补充说明
8.4 使用DataNavigator控件实现客户端分页导航
8.4.1 DataNavigator控件介绍
8.4.2 示例程序
8.5 使用DataFilter组件在客户端过滤数据
8.5.1 DataFilter和PropertyFilter组件介绍
8.5.2 示例程序
8.6 使用SortBehavior行为实现客户端排序
8.6.1 SortBehavior行为介绍
8.6.2 示例程序
8.7 使用ItemView控件维护集合中的单个条目
8.7.1 ItemView控件介绍
8.7.2 示例程序
8.8 使用XSLTView控件用XSLT修饰并显示XML数据
8.8.1 XSLTView控件介绍
8.8.2 示例程序
8.9 小结
第9章 实现客户端拖放效果
9.1 客户端拖放功能框架
9.1.1 DragDropManager对象
9.1.2 IDragSource接口
9.1.3 IDropTarget接口
9.1.4 创建可拖放的客户端应用程序
9.2 使用DragDropList实现可拖放列表
9.2.1 DragDropList行为和DraggableListItem行为
9.2.2 示例程序:仿Google个性化主页
9.3 示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中
9.3.1 示例程序功能
9.3.2 编写服务器端Web Service
9.3.3 编写DraggableProductBehavior实现可拖动的商品
9.3.4 编写ShoppingCartBehavior实现可接受商品投放的购物车
9.3.5 编写页面代码
9.3.6 通过Web Service取得商品并显示在页面中
9.3.7 将购物车中的商品提交回Web Service处理
9.4 ASP.NET AJAX中拖放功能实现方式总结
9.4.1 使用服务器端DragOverlayExtender或客户端DragOverlayBehavior
9.4.2 使用服务器端DragPanel扩展器控件
9.4.3 使用服务器端ReorderList控件
9.4.4 使用UpdatePanel与ASP.NET AJAX带来的新版本WebPart控件
9.4.5 使用客户端DragDropList行为
9.4.6 自定义实现客户端IDragSource和IDropTarget接口
9.4.7 各种拖放实现方法的比较
9.5 小结
第10章 通过Web Service桥调用远程Web Service
10.1 以用户为本的Mashup理念
10.2 在客户端调用其它主机上的Web Service
10.2.1 力不从心的JavaScript
10.2.2 曲线救国的本地服务器代理
10.2.3 更进一步的Web Service桥
10.2.4 在ASP.NET AJAX中启用Web Service桥
10.3 简单的Web Service桥示例
10.3.1 模拟一个远程Web Service
10.3.2 编写本地Web Service桥
10.3.3 通过Web Service桥间接调用远程Web Service
10.3.4 运行示例程序
10.4 示例程序:调用Yahoo! Weather服务
10.4.1 熟悉Yahoo! Weather服务
10.4.2 编写本地Web Service桥
10.4.3 通过Web Service桥间接调用Yahoo! Weather服务
10.4.4 运行示例程序
10.5 示例程序:调用Google Search服务
10.5.1 熟悉Google Search服务
10.5.2 编写本地Web Service桥
10.5.3 通过Web Service桥间接调用Google Search服务
10.5.4 运行示例程序
10.6 小结
第11章 实例程序:RSS阅读器
11.1 RSS阅读器的功能
11.2 数据:编写服务器端Web Service
11.2.1 表示Feed摘要信息的RssEntry类
11.2.2 表示Feed中内容条目的ContentEntry类
11.2.3 使用RSS.NET类库辅助解析Feed
11.2.4 声明Web Service类
11.2.5 获取当前所有的Feed
11.2.6 添加新Feed
11.2.7 返回指定Feed中的内容条目
11.2.8 测试该Web Service
11.3 表现:设计界面
11.3.1 导航栏
11.3.2 内容栏
11.3.3 更新提示面板
11.3.4 完整的HTML代码
11.4 行为:用JavaScript让程序运作起来
11.4.1 在客户端应用程序初始化完毕时加载Feed列表
11.4.2 在用户点击Feed列表条目时取得该Feed的内容
11.4.3 实现添加Feed功能
11.4.4 将Web Service以及JavaScript引入到客户端页面中
11.5 还可以如何实现?
11.5.1 用组件封装功能模块
11.5.2 用Web Service桥取得Feed内容
11.5.3 用ListView显示Feed列表
11.5.4 用XSLTView显示Feed内容
11.6 继续完善的方向
11.6.1 处理异常
11.6.2 允许添加其他类型的Feed
11.6.3 保存用户的自定义Feed
11.6.4 让添加Feed的过程更加容易
11.6.5 支持编辑/删除Feed
11.6.6 支持对Feed进行分类管理
11.6.7 用拖放维护Feed所在的分类或改变Feed之间的顺序
11.7 小结