第一部分 核心ASP.NET 1
第1章 ASP.NET 2.0简介 1
1.1 为什么使用ASP.NET 1
1.1.1 静态Web内容和动态Web内容 1
1.1.2 竞争性的动态服务技术 2
1.1.3 ASP.NET的优势 4
1.2 .NET框架 5
1.2.1 .NET框架的组件 6
1.2.2 .NET执行 8
1.3 ASP.NET Web表单 9
1.3.1 C#语言 13
1.3.2 Web应用程序结构 13
1.4 Visual Studio 2005 15
1.4.1 Visual Studio Web项目 16
1.4.2 Web服务器选项 16
1.5 教程:创建ASP.NET Web表单 19
1.5.1 在Visual Studio中创建一个Web站点 19
1.5.2 添加一个新的Web表单 20
1.5.3 向一个Web表单添加HTML内容 21
1.5.4 添加编程逻辑 24
1.5.5 遇到错误 27
1.5.6 使用Visual Studio调试器 29
1.6 小结 31
1.7 练习 31
1.8 关键概念 31
1.9 参考资料 32
第2章 ASP.NET的工作机制 33
2.1 ASP.NET事件模型 33
2.1.1 回发 34
2.1.2 视图状态和控件状态 35
2.1.3 页面生命周期 36
2.2 ASP.NET代码编译 46
2.3 Page类 49
2.3.1 Request 50
2.3.2 Response 51
2.3.3 Server 51
2.4 ASP.NET应用程序生命周期 51
2.4.1 用户向服务器请求ASP.NET资源 52
2.4.2 为请求创建ASP.NET核心对象 56
2.4.3 为请求分配HttpApplication对象 56
2.4.4 使用HttpApplication管理处理请求 58
2.5 小结 60
2.6 练习 60
2.7 关键概念 60
2.8 参考资料 61
第3章 使用标准Web服务器控件 62
3.1 服务器控件简介 62
3.1.1 HTML服务器控件 62
3.1.2 Web服务器控件 62
3.1.3 验证控件 63
3.1.4 用户控件 63
3.1.5 自定义服务器控件 63
3.2 Web服务器控件概览 63
3.2.1 常用成员 64
3.2.2 通过编程操作属性 65
3.3 基本的标准Web服务器控件 67
3.3.1 Label控件 68
3.3.2 Literal控件 69
3.3.3 TextBox控件 71
3.3.4 按钮式控件 73
3.3.5 Command事件 75
3.3.6 CheckBox控件 79
3.3.7 RadioButton控件 81
3.3.8 列表式控件 81
3.3.9 Image控件 89
3.3.10 ImageMap控件 92
3.3.11 HyperLink控件 94
3.3.12 HiddenField控件 95
3.3.13 Table控件 97
3.3.14 Calendar控件 103
3.4 小结 116
3.5 练习 116
3.6 关键概念 116
3.7 参考资料 116
第4章 其他标准Web服务器控件 118
4.1 其他标准Web服务器控件概览 118
4.2 Panel控件 119
4.3 MultiView控件和View控件 127
4.3.1 View之间的导航 128
4.3.2 使用一个MultiView创建页签式的面板 129
4.4 Wizard控件 133
4.4.1 使用Wizard控件 136
4.4.2 理解Wizard控件的布局 138
4.4.3 自定义向导 139
4.4.4 自定义标题区域 140
4.4.5 Wizard事件处理 146
4.4.6 FileUpload控件 148
4.4.7 PlaceHolder控件 151
4.4.8 AdRotator控件 160
4.4.9 Xml控件 163
4.5 小结 172
4.6 练习 172
4.7 关键概念 172
4.8 参考资料 172
第5章 异常处理和验证控件 173
5.1 错误处理 173
5.1.1 .NET异常处理 173
5.1.2 在类级别使用try...catch语句块的异常处理 174
5.1.3 页面级的异常处理 176
5.1.4 应用程序级的异常处理器 178
5.2 使用验证服务器控件 183
5.2.1 ASP.NET表单验证过程 184
5.2.2 RequiredFieldValidator控件 190
5.2.3 ValidationSummary控件 190
5.2.4 CompareValidator控件 192
5.2.5 RangeValidator控件 194
5.2.6 RegularExpressionValidator控件 195
5.2.7 CustomValidato控件 200
5.2.8 验证组 205
5.3 小结 210
5.4 练习 210
5.5 关键概念 210
5.6 参考资料 211
第6章 自定义和管理网站的外观 212
6.1 改变服务器控件的外观 212
6.1.1 常用外观属性 212
6.1.2 对控件使用CSS 213
6.1.3 外观属性、CSS和ASP.NET 217
6.2 主题和皮肤 218
6.2.1 定义皮肤 218
6.2.2 在Visual Studio中创建主题 219
6.2.3 应用主题 220
6.2.4 主题如何工作 220
6.2.5 覆盖主题 221
6.2.6 命名皮肤 222
6.2.7 主题和图像 222
6.2.8 主题和CSS 223
6.2.9 动态设定主题 225
6.2.10 用两个主题创建一个示例页面 226
6.3 主页面 234
6.3.1 定义主页面 237
6.3.2 嵌套主页面 240
6.3.3 主页面如何工作 242
6.3.4 主页面编程 242
6.3.5 主页面和主题 244
6.4 用户控件 250
6.4.1 创建和使用用户控件 251
6.4.2 对用户控件添加数据和行为 252
6.5 小结 253
6.6 练习 254
6.7 关键概念 255
6.8 参考资料 255
第7章 ASP.NET站点导航 256
7.1 ASP.NET站点导航概览 256
7.2 XML站点地图 258
7.2.1 消费XML站点地图 259
7.2.2 对站点地图编程 263
7.2.3 使用不同的站点地图 264
7.2.4 站点地图的其他功能 266
7.3 SiteMapPath控件 267
7.3.1 样式化SiteMapPath 268
7.3.2 把查询字符串整合到SiteMapPath 270
7.4 Menu控件 273
7.4.1 使用Menu控件 275
7.4.2 改变菜单的外观 277
7.4.3 处理菜单事件 283
7.5 TreeView控件 288
7.5.1 理解TreeView控件 289
7.5.2 使用TreeView控件 291
7.5.3 改变TreeView的外观 292
7.5.4 通过TreeView控件使用其他数据 294
7.5.5 响应TreeView事件 298
7.6 小结 303
7.7 练习 303
7.8 关键概念 304
7.9 参考资料 304
第二部分 操作数据 305
第8章 数据绑定和表示 305
8.1 数据绑定简介 305
8.1.1 如何使用数据绑定 305
8.1.2 什么可以充当数据源 306
8.2 使用集合 307
8.2.1 集合接口 307
8.2.2 使用常用的集合 308
8.2.3 ArrayList 311
8.2.4 泛型 314
8.2.5 Dictionary集合 317
8.2.6 创建自己的泛型集合 318
8.3 DataSet 322
8.3.1 使用DataTable 323
8.3.2 使用DataSet 328
8.3.3 关联DataTable 331
8.3.4 XML和DataSet的整合 333
8.4 选择一个数据容器 338
8.4.1 .NET Collections作为数据容器 339
8.4.2 自定义集合作为数据容器 339
8.4.3 DataSet作为数据容器 340
8.4.4 类型化DataSet作为数据容器 340
8.5 小结 341
8.6 练习 341
8.7 关键概念 341
8.8 参考资料 342
第9章 使用ADO.NET 343
9.1 ADO.NET简介 343
9.1.1 选择一个数据提供者 345
9.1.2 数据提供者类 345
9.2 DbConnection类 346
9.2.1 连接字符串 346
9.2.2 对一个DbConnection编程 347
9.2.3 存储连接字符串 349
9.2.4 连接池 350
9.3 DbCommand类 350
9.3.1 创建一个DbCommand 351
9.3.2 访问、添加、更新或删除数据的SQL命令 351
9.3.3 存储过程 352
9.3.4 执行一个DbCommand 353
9.3.5 使用DbParameter类 354
9.3.6 使用事务 356
9.4 DbDataReader类 360
9.4.1 对一个DbDataReader编程 360
9.4.2 隐式连接关闭 362
9.4.3 教程:读取和更新数据 363
9.5 DbDataAdapter类 371
9.5.1 填充一个DataSet 372
9.5.2 更新数据 374
9.6 独立于数据提供者的ADO.NET编码 376
9.7 数据源控件 378
9.7.1 使用参数 380
9.7.2 修改数据 383
9.7.3 数据源控件是如何工作的 383
9.7.4 使用ObjectDataSource 384
9.8 小结 392
9.9 练习 393
9.10 关键概念 393
9.11 参考资料 394
第10章 数据控件 395
10.1 多值数据控件简介 395
10.1.1 理解模板 398
10.1.2 数据绑定表达式 398
10.2 DataList控件 401
10.2.1 使用通用模板 403
10.2.2 使用DataList链接页面 405
10.3 Repeater控件 406
10.4 FormView控件 409
10.4.1 从一条记录移动到另一条记录 411
10.4.2 修改数据 413
10.5 DetailsView控件 419
10.5.1 自定义DetailsView字段 421
10.5.2 修改DetailsView数据 423
10.6 GridView控件 426
10.6.1 自定义GridView列 428
10.6.2 选择行 434
10.6.3 GridView分页 438
10.6.4 GridView排序 441
10.6.5 在GridView中编辑数据 442
10.6.6 其他的GridView任务 445
10.7 小结 451
10.8 练习 451
10.9 关键概念 452
10.10 参考资料 452
第11章 设计和实现Web应用程序 453
11.1 设计一个应用程序 453
11.1.1 使用层 454
11.1.2 分层的结果 455
11.2 两层模型 456
11.3 三层模型 457
11.3.1 设计和实现一个业务对象 458
11.3.2 通过编程使用业务对象 465
11.3.3 和ObjectDataSource一起使用业务对象 466
11.4 四层模型 468
11.4.1 设计一个四层架构 468
11.4.2 修改数据访问层 470
11.4.3 创建一个复杂的领域实体 473
11.4.4 创建应用程序逻辑层 475
11.4.5 在显示层中使用架构 478
11.5 小结 486
11.6 练习 486
11.7 关键概念 486
11.8 参考资料 487
第12章 ASP.NET状态管理 488
12.1 客户机存储的状态 488
12.1.1 视图状态 488
12.1.2 控件状态 491
12.1.3 隐藏字段 491
12.1.4 查询字符串 492
12.1.5 cookie 492
12.2 应用程序状态 493
12.3 会话状态 494
12.3.1 会话状态是如何工作的 495
12.3.2 会话状态提供者 497
12.3.3 配置文件属性 501
12.4 ASP.NET缓存 501
12.4.1 应用程序数据缓存 502
12.4.2 缓存依赖性 506
12.4.3 页面输出缓存 507
12.5 小结 509
12.6 练习 509
12.7 关键概念 509
12.8 参考资料 510
第三部分 实现Web应用程序 511
第13章 安全性、成员和角色管理 511
13.1 ASP.NET安全性简介 511
13.1.1 IIS安全概览 512
13.1.2 ASP.NET安全性过程 514
13.1.3 代码访问安全和ASP.NET信任级别 515
13.1.4 ASP.NET验证 518
13.2 表单验证 519
13.2.1 使用表单验证 519
13.2.2 创建一个登录表单 521
13.2.3 表单验证系统如何工作 526
13.2.4 使用非cookie的验证票据 528
13.3 提供者模式 529
13.3.1 提供者模式架构 530
13.3.2 创建自定义提供者 531
13.4 成员 537
13.4.1 成员系统概览 537
13.4.2 配置SqlMembershipProvider 538
13.4.3 使用成员API 540
13.5 角色管理 544
13.5.1 角色提供者 544
13.5.2 管理角色 545
13.5.3 使用角色管理API 547
13.6 登录控件 552
13.6.1 Login控件 552
13.6.2 LoginName控件 555
13.6.3 LoginStatus控件 555
13.6.4 LoginView控件 556
13.6.5 ChangePassword控件 558
13.6.6 PasswordRecovery控件 559
13.6.7 CreateUserWizard控件 560
13.7 小结 561
13.8 练习 561
13.9 关键概念 562
13.10 参考资料 562
第14章 用配置文件和Web部件实现个性化 563
14.1 ASP.NET配置文件 563
14.1.1 定义配置文件 563
14.1.2 使用配置文件数据 564
14.1.3 配置文件如何工作 568
14.1.4 保存和访问配置文件数据 569
14.1.5 使用自定义类型 570
14.1.6 使用匿名用户 572
14.1.7 何时使用配置文件 576
14.2 Web部件框架 577
14.2.1 Web部件、Web Part Zones和Web部件管理器 579
14.2.2 创建和使用Web部件 581
14.2.3 从用户控件获取Web部件 585
14.2.4 从自定义控件获取Web部件 589
14.2.5 改变不同的显示模式 592
14.2.6 Design模式 594
14.2.7 Catalog模式 595
14.2.8 Edit模式 596
14.2.9 Web部件连接 601
14.3 小结 611
14.4 练习 611
14.5 关键概念 612
14.6 参考资料 612
第15章 Web Service 613
15.1 Web Service简介 613
15.2 消费Web service 615
15.2.1 如何使用Visual Studio消费一个Web Service 616
15.2.2 在一个用户控件中消费Web Service 619
15.2.3 消费Amazon Web Service 621
15.2.4 消费Web Service和性能 628
15.2.5 异步Web Service 630
15.3 创建Web Service 635
15.3.1 创建一个简单的Quote服务 636
15.3.2 测试Quote服务 640
15.3.3 为业务或应用程序逻辑类创建一个Web service前端 641
15.3.4 创建Web Service的规则 642
15.4 小结 643
15.5 练习 643
15.6 关键概念 644
15.7 参考资料 644
第16章 国际化和部署 645
16.1 国际化一个Web应用程序 645
16.1.1 资源文件简介 646
16.1.2 生成资源文件 647
16.1.3 本地化资源文件 650
16.1.4 全局资源 652
16.1.5 页面级文化设置 653
16.2 部署 657
16.2.1 手动地把文件从开发机器复制到部署机器上 657
16.2.2 预编译Web站点 659
16.2.3 使用Web Setup Project创建一个安装程序 661
16.3 小结 665
16.4 练习 665
16.5 关键概念 665
16.6 参考资料 666
附录A ASP.NET AJAX窥秘 667