前言
第I部分 数据访问和报表
第1章 数据绑定.NET控件
1.1 ASP.NET数据绑定
1.1.1 可用的数据绑定源
1.1.2 简单的数据绑定
1.1.3 复杂的数据绑定
1.2 DropDownList Web控件
1.3 CheckBoxList Web控件
1.4 RadioButtonList Web控件
1.5 ListBox Web控件
1.6 Repeater控件
1.6.1 访问数据绑定信息
1.6.2 Repeater控件事件
1.7 DataList控件
1.7.1 DataList专用模板
1.7.2 DataList特有的事件
1.7.3 特殊的命令名
1.7.4 相关图形和数据元素
1.8 DataGrid控件
1.9 本章小结
第2章 可分页的数据网格
2.1 构成DataGrid的项
2.2 列类型
2.3 绑定列
2.3.1 绑定的列
2.3.2 按钮列
2.3.3 链接列
2.3.4 以编程方式绑定
2.3.5 动态列绑定
2.4 数据分页
2.4.1 半自动分页
2.4.2 分页的属性
2.4.3 页导航栏
2.4.4 实际分页
2.4.5 自定义页导航栏
2.4.6 自定义分页
2.5 排序列
2.5.1 设置排序
2.5.2 自动反向排序
2.5.3 对多个字段排序
2.5.4 多列的自动反向排序
2.5.5 显示排序信息
2.6 DataGrid控件和数据持久性
2.6.1 可伸缩性概述
2.6.2 使用Session对象
2.6.3 使用Cache对象
2.6.4 使用XML文件
2.6.5 使用数据阅读器和适配器
2.6.6 分页的矛盾
2.7 本章小结
第3章 模板化的DataGrid控件
3.1 绑定模板列
3.2 模板列实例
3.2.1 串接数据字段
3.2.2 对模板列排序
3.2.3 将列组织到一个标题下
3.2.4 调整列边距
3.2.5 自定义列标题
3.3 动态创建模板
3.3.1 从文件中加载模板
3.3.2 管理列的多视图
3.3.3 从字符串加载模板
3.3.4 实现ITemplate
3.4 使列与数据适配
3.4.1 显示布尔值
3.4.2 显示图像
3.4.3 显示数组
3.5 本章小结
第4章 编辑DataGrid控件
4.1 就地编辑
4.1.1 启用就地编辑
4.1.2 从编辑字段中读取文本
4.1.3 更新数据源
4.1.4 诸多缺点
4.2 用模板进行就地编辑
4.2.1 使用模板控件
4.2.2 使布局与数据相适应
4.3 添加新行
4.3.1 设置添加行特性
4.3.2 添加空行
4.3.3 转换为编辑模式
4.3.4 更新表和网格
4.4 本章小结
第II部分 智能和高效的数据访问和报表
第5章 ASP.NET中的代码重用性
5.1 ASP.NET页的层
5.1.1 从Spaghetti代码到Lasagna代码
5.1.2 简化的页
5.2 代码隐藏方法
5.2.1 启用代码隐藏
5.2.2 编写代码隐藏页
5.2.3 ASP.NET页的可视化继承
5.3 可嵌入的Web窗体
5.3.1 编写用户控件
5.3.2 创建新的DateBox控件
5.3.3 触发事件
5.4 编写自定义控件
5.4.1 带标签的TextBox控件
5.4.2 使用自定义控件
5.4.3 一个现成的DataGrid控件
5.4.4 UpdateView事件
5.4.5 SortExpression属性
5.5 本章小结
第6章 高级数据报表
6.1 项选择
6.1.1 启用项选择
6.1.2 使用SelectedIndex Changed事件
6.1.3 以编程方式选择行
6.1.4 选择并挖掘
6.1.5 筛选视图
6.2 允许多项选择
6.2.1 SuperGrid控件的属性
6.2.2 SuperGrid控件的布局
6.2.3 检索选定项
6.3 按条件选择
6.3.1 改变背景色
6.3.2 判断条件
6.3.3 添加额外列
6.4 合计和摘要行
6.4.1 查询的正确方法
6.4.2 建立表之间的关系
6.5 本章小结
第7章 断开式Web应用程序
7.1 DataSet对象的用途
7.1.1 对Web应用程序的意义
7.1.2 DataSet和DataGrid控件
7.1.3 断开式应用程序
7.2 透明数据源
7.2.1 使用Cache对象
7.2.2 从一般数据源加载数据
7.2.3 创建子表
7.3 批量更新
7.3.1 锁定行
7.3.2 应用内存中的更改
7.3.3 自动增量字段
7.3.4 删除和移除
7.3.5 行状态
7.4 数据的脱机缓存
7.4.1 从XML加载DataSet
7.4.2 DiffGram格式
7.5 提交更改
7.5.1 检测更改
7.5.2 拒绝更改
7.5.3 查看更改
7.5.4 生成命令
7.5.5 命令生成器
7.5.6 数据冲突
7.6 本章小结
第III部分 可互操作性
第8章 可互操作的Web应用程序
8.1 COM Interop服务
8.2 在.NET应用程序中使用ADO
8.2.1 ADODB程序集
8.2.2 得到Recordset
8.2.3 ADO服务器游标
8.2.4 移植问题
8.3 将Recordset对象改造成DataSet对象
8.3.1 在DataSet对象中加载Recordset对象
8.3.2 在DataTable对象中加载Recordset对象
8.3.3 常用移植方案
8.4 从DataSet对象到ADO Recordset对象
8.4.1 将DataSet对象序列化为XML Recordset对象
8.4.2 DataSet对象的XML架构
8.4.3 ADO XML架构
8.4.4 创建ADO XML架构
8.4.5 从.NET数据到XML
8.5 XML对象序列化
8.5.1 启用对象序列化
8.5.2 XML序列化
8.6 本章小结
第9章 Web服务
9.1 动态链接Web库
9.1.1 Web服务规范
9.1.2 底层技术
9.2 .NET Web服务
9.2.1 WebService属性
9.2.2 改变默认的命名空间
9.2.3 定义Web方法
9.2.4 .NET Web服务工作原理
9.2.5 调用.NET Web服务
9.2.6 创建代理类
9.3 Web服务实现
9.3.1 设计协定
9.3.2 最小化往返次数
9.3.3 验证和授权
9.3.4 管理状态
9.3.5 发布和部署Web服务
9.4 优化Web服务
9.4.1 异步调用
9.4.2 SOAP扩展
9.4.3 极端优化
9.5 本章小结
第10章 向.NET应用程序公开数据
10.1 公开专有数据
10.1.1 使用定制的类
10.1.2 DirectoryListing类
10.1.3 创建内存中的表
10.1.4 使用DirectoryListing类
10.1.5 使用OLE DB提供程序
10.2 .NET数据提供程序揭密
10.2.1 .NET数据提供程序的结构
10.2.2 实现连接
10.2.3 实现命令
10.2.4 实现数据阅读器
10.2.5 实现数据适配器
10.2.6 简单数据提供程序与复杂数据提供程序
10.3 编写简单数据提供程序
10.3.1 表映射机制
10.3.2 填充DataSet对象
10.3.3 使用简单数据提供程序
10.3.4 更新数据源
10.4 本章小结