第1章 ASP.NET 2.0和ADO.NET简介 1
1.1 .NET技术概述 1
1.1.1 .NET Framework简介 2
1.1.2 ASP.NET简介 3
1.1.3 ASP.NET 2.0简介 4
1.1.4 ADO.NET简介 6
1.1.5 ASP.NET 1.x和用于数据访问的ADO.NET 7
1.1.6 ASP.NET 2.0和数据访问 8
1.1.7 术语回顾 9
1.2 使用ASP.NET 2.0的需求 11
1.2.1 Web服务器 11
1.2.2 .NET Framework 2.0版本 12
1.2.3 创建Web页的编辑器 12
1.2.4 数据库管理系统 13
1.3 本书所需要的安装 15
1.3.1 安装VWD Express,SSE和ASP.NET Development Server 15
1.3.2 下载本书所需的文件 16
1.3.3 创建实际的Web站点 16
1.3.4 安装示例数据库 18
1.4 演示 19
1.5 常见错误 31
1.6 本章小结 32
1.7 练习题 33
第2章 连接Access数据库 35
2.1 Microsoft Access和JET Database Engine简介 35
2.2 在Web应用程序中使用Access的优势和劣势 36
2.3 在VWD中连接至Microsoft Access数据库 36
2.4 使用AccessDataSource控件 40
2.4.1 使用选择语句的几种方式 44
2.4.2 指定MDB文件位置 47
2.5 管理MDB文件权限 49
2.6 适度地处理Access连接失败 50
2.7 常见错误 53
2.8 本章小结 54
2.9 练习题 54
第3章 连接SQL Server和SQL Server Express 57
3.1 SQL Server和连接字符串简介 57
3.1.1 使用SQL Server数据库之前的准备 59
3.1.2 指定连接字符串 59
3.2 使用SqlDataSource控件 61
3.3 SQL Server中的安全性 64
3.3.1 SQL Server中的验证选项 64
3.3.2 使用SQL Server Express的验证 66
3.3.3 关于SQL Server Express的数据库权限 67
3.3.4 SqlDataSource控件的验证需求 67
3.4 在Web.config文件中保存连接字符串 68
3.4.1 手工添加连接字符串到Web.config文件 70
3.4.2 加密连接字符串 71
3.5 在DataSet和DataReader之间选择 74
3.6 探究陌生数据库的模式 75
3.7 处理SqlDataSource的连接失败 78
3.8 常见错误 81
3.9 本章小结 81
3.10 练习题 82
第4章 连接其他关系型数据库 83
4.1 带提供程序的连接简介 83
4.1.1 连接软件的层次之间的关系 84
4.1.2 ADO.NET提供程序 86
4.1.3 在ASP.NET 2.0中使用ADO.NET提供程序 86
4.2 使用密码连接Access MDB文件 89
4.3 连接Oracle数据库 94
4.4 连接MySQL 95
4.5 连接Excel 98
4.6 连接其他数据库 99
4.7 常见错误 100
4.8 本章小结 100
4.9 练习题 102
第5章 在表中显示数据 103
5.1 在ASP.NET 2.0中显示数据 103
5.1.1 回顾数据绑定和数据源控件 103
5.1.2 数据绑定控件的类型 104
5.2 GridView控件简介 104
5.2.1 GridView控件的功能 104
5.2.2 GridView的呈现元素 105
5.3 将GridView与数据连接 106
5.3.1 从Data Explorer中拖放字段 106
5.3.2 从工具箱中拖放控件 106
5.4 定制GridView的列 109
5.4.1 在Edit Columns对话框中选择列 109
5.4.2 列字段类型 109
5.4.3 使用GridView的Auto GenerateColumns属性 127
5.4.4 处理NULL字段值 128
5.5 DetailsView控件 130
5.5.1 DetailsView的呈现元素 131
5.5.2 将DetailsView与数据连接 131
5.6 常见错误 133
5.7 本章小结 134
5.8 练习题 135
第6章 定制表的外观 137
6.1 定制外观 137
6.1.1 设置BackColor和BackImageUrl 137
6.1.2 Font和ForeColor 140
6.1.3 Height和Width 140
6.1.4 CellSpacing和CellPadding 140
6.1.5 Borders和GridLines 141
6.1.6 HorizontalAlign 144
6.1.7 ShowHeader和ShowFooter 144
6.1.8 ToolTip 144
6.2 定制表中的样式 146
6.2.1 GridView和DetailsView样式 146
6.2.2 空表 149
6.2.3 DetailsView控件的特有样式 150
6.2.4 列样式和字段样式 151
6.3 使用层叠样式表 155
6.4 理解样式的优先级 160
6.5 实现主题和皮肤 163
6.6 在VWD中使用Auto Format 165
6.7 常见错误 165
6.8 本章小结 166
6.9 练习题 167
第7章 数据的分页和排序 169
7.1 引言 169
7.2 排序 170
7.2.1 启用排序所需条件 171
7.2.2 ASP.NET 2.0如何管理排序 172
7.2.3 排序表达式 174
7.3 分页 178
7.3.1 启用分页 179
7.3.2 自定义分页和分页导航工具 181
7.4 分页理论和替代方法 184
7.5 排序、分页和选择三者的关系 185
7.6 常见错误 186
7.7 本章小结 186
7.8 练习题 187
第8章 在选择列表中显示数据 189
8.1 选择列表简介 189
8.1.1 从GridView转换成其他格式 189
8.1.2 选择列表控件的类型 190
8.2 所有选择列表控件的一般概念 190
8.3 数据绑定列表控件 193
8.4 DropDownList控件 196
8.5 列表中的选择 198
8.5.1 SelectedIndex和SelectedValue 198
8.5.2 自动回送 201
8.6 常见错误 203
8.7 本章小结 203
8.8 练习题 204
第9章 筛选和主从情况 205
9.1 主从情况简介 205
9.2 使用QueryString筛选GridView记录 206
9.3 使用TextBox筛选GridView记录 208
9.4 使用SQL的LIKE运算符 210
9.5 选择的理论和ControlParameters 212
9.6 使用选择列表控件筛选GridView记录 214
9.6.1 由具有硬编码项的DropDownList作为主控件 214
9.6.2 由具有数据绑定项的ListBox作为主控件 216
9.6.3 显示主从情况中GridView的选项 218
9.6.4 由具有在GridView中显示所有记录的默认设置的列表框作为主控件 218
9.7 使用GridView和DetailsView在同一页面上显示详细信息 221
9.8 使用GridView和DetailsView在不同页面上显示详细信息 225
9.9 层叠DropDownLists 229
9.10 常见错误 231
9.11 本章小结 232
9.12 练习题 232
第10章 在模板化控件中显示数据和数据绑定 235
10.1 模板简介 235
10.1.1 模板位置和作用域 238
10.1.2 模板内容 239
10.1.3 记录呈现:重复和单一 240
10.1.4 模板的区域 240
10.1.5 模板中的数据绑定 241
10.1.6 使用模板化控件的一般性指导原则 242
10.2 GridView模板字段 243
10.3 DataList控件 248
10.4 Repeater控件 253
10.5 DetailsView控件中的模板 254
10.6 FormView控件 255
10.7 模板化控件的比较 256
10.8 关于数据绑定的一些较为高级的思想 259
10.9 常见错误 260
10.10 本章小结 260
10.11 练习题 261
第11章 数据的更新与删除 263
11.1 数据修改概述 264
11.2 命令字段 265
11.3 简单更新 269
11.4 DataKeyNames和更新 271
11.5 DetailsView中的更新 276
11.6 参数集合 278
11.7 处理更新中的NULL值 279
11.8 删除整条记录 282
11.9 常见错误 285
11.10 本章小结 286
11.11 练习题 286
第12章 插入新记录 289
12.1 创建新记录的理论 289
12.1.1 支持插入 290
12.1.2 隐含的操作 290
12.1.3 执行插入时的数据库考虑事项 291
12.2 在数据源控件中启用插入 292
12.3 使用DetailsView进行基本插入 294
12.4 从GridView开始执行DetailsView的INSERT 295
12.4.1 在同一个页面上执行插入的GridView和DetailsView 295
12.4.2 GridView和DetailsView分别位于不同页面 295
12.5 使用TemplateFields进行插入 299
12.6 RadioButtonLists和Drop-DownLists中的数据条目 303
12.7 复选框中的数据条目 306
12.8 使用FormView进行插入 307
12.9 DetailsView和FormView之间的权衡 309
12.10 常见错误 309
12.11 本章小结 310
12.12 练习题 310
第13章 验证 311
13.1 验证控件概述 311
13.1.1 验证控件的作用 312
13.1.2 验证支持的情况 312
13.2 验证控件的常见概念 313
13.2.1 常见属性 313
13.2.2 验证控件的实现 316
13.2.3 验证在后台的工作方式 316
13.2.4 多个验证 317
13.3 验证控件的类型 317
13.3.1 类型表 317
13.3.2 RequiredFieldValidator控件 317
13.3.3 CompareValidator控件 318
13.3.4 RangeValidator控件 319
13.3.5 RegularExpressionValidator控件 322
13.3.6 CustomValidator控件 326
13.4 数据情况中的验证 328
13.5 验证小结 329
13.6 验证组 330
13.7 代码中的验证 331
13.8 常见错误 331
13.9 本章小结 331
13.10 练习题 332
第14章 作为数据源的业务对象 335
14.1 ObjectDataSource控件简介 335
14.1.1 N层应用程序的层次 336
14.1.2 N层体系结构的优势 336
14.2 具有硬编码数据的简单对象 337
14.3 绑定到硬编码的数组 340
14.4 使用泛型的对象 341
14.5 绑定到数据库的对象 349
14.6 使用VWD构建带有数据的对象 352
14.7 返回DataSet列表的对象 355
14.8 修改数据的对象 357
14.9 具有数据对象的主从情况 360
14.10 数据对象中的排序 364
14.11 常见错误 367
14.12 本章小结 367
14.13 练习题 368
第15章 XML和其他分层数据 371
15.1 什么是分层数据 371
15.1.1 分层数据的类型 372
15.1.2 ASP.NET 2.0的分层数据控件 372
15.2 XmlDataSource和TreeView控件 373
15.3 数据绑定和格式化TreeView 375
15.4 使用XmlDataSource的XPath 378
15.5 处理TreeView控件中的事件 380
15.6 使用其他控件的分层数据 382
15.6.1 XmlDataSource和DropDownList 382
15.6.2 XmlDataSource和GridView 382
15.6.3 XmlDataSource和DataList 384
15.6.4 XmlDataSource和使用嵌套的DataList 386
15.7 SiteMapDataSource,SiteMapPath和Menu控件 388
15.8 常见错误 390
15.9 本章小结 391
15.10 练习题 392
第16章 数据缓存 393
16.1 缓存及其优点 393
16.2 何时使用缓存 394
16.2.1 理解状态 394
16.2.2 理解状态的失效 394
16.3 ASP.NET 2.0中的缓存选项 395
16.3.1 演示数据的说明 395
16.3.2 基于时间的缓存期限 396
16.3.3 具有参数的缓存 397
16.3.4 实现筛选功能 400
16.3.5 SQL Server缓存失效 402
16.3.6 局部页面缓存 406
16.4 常见错误 407
16.5 本章小结 408
16.6 练习题 408
第17章 处理数据控件的事件 409
17.1 事件处理简介 409
17.1.1 在事件触发时执行控件 410
17.1.2 事件类型 410
17.2 编写事件处理程序的常用技术 410
17.2.1 触发事件时值的传递 413
17.2.2 事件处理程序的位置 415
17.3 命令和自定义按钮事件 419
17.3.1 使用由命令按钮或命令字段触发的事件 419
17.3.2 使用由按钮通过自定义操作触发的事件 420
17.4 列表选择事件和页面事件 422
17.5 数据控件绑定事件 425
17.6 一般错误事件 427
17.7 常见错误 430
17.8 本章小结 430
17.9 练习题 431
第18章 性能检查表 433
18.1 将页面从早期版本转换为2.0版本 433
18.2 从Access切换到SQL Server 434
18.3 使用DataReader而不是DataSet 434
18.4 使用OLEDB而不是ODBC 434
18.5 静态设置列表项 435
18.6 缓存数据 435
18.7 缓存整个或部分页面 435
18.8 使用SQL Server缓存失效 435
18.9 代码中的类型转换 436
18.10 专门列出列而不是使用自动生成列 436
18.11 尽可能关闭ViewState 436
18.12 声明性设置属性 436
18.13 在代码中使用最佳实践 436
18.14 预先编译页面 436
第19章 案例研究:FAQ系统 437
19.1 简介 437
19.1.1 项目描述 437
19.1.2 数据库设计 438
19.1.3 文件的开发 438
19.2 本章小结 453
附录A SQL语句的简单实用的介绍 455
附录B 练习答案 465