第Ⅰ部分 生成ASP.NET页面
第1章 ASP.NET编程模型 2
1.1 究竟什么是ASP.NET 2
1.1.1 Web窗体中的编程 4
1.1.2 通过HTTP的事件驱动编程 4
1.1.3 HTTP协议 6
1.1.4 ASP.NET页面的结构 8
1.2 ASP.NET组件模型 11
1.2.1 组件交互模型 11
1.2.2 runat属性 12
1.2.3 ASP.NET服务器控件 15
1.3 ASP.NET开发栈 16
1.3.1 表示层 16
1.3.2 页面框架 17
1.3.3 HTTP运行时环境 18
1.4 ASP.NET提供程序模型 21
1.4.1 提供程序模型的基本原理 21
1.4.2 ASP.NET实现概述 24
1.5 小结 27
第2章 在Visual Studio .NET 2005
中进行 Web开发 29
2.1 Visual Studio .NET 2005简介 29
2.1.1 Visual Studio .NET 2003
的共同苦恼 30
2.1.2 Visual Studio .NET 2005
的突出特征 31
2.2 创建一个ASP.NET项目 36
2.2.1 网页设计特征 36
2.2.2 在项目中添加代码 43
2.2.3 ASP.NET的保留文件夹 47
2.2.4 建立ASP.NET项目 52
2.3 应用程序部署 54
2.3.1 XCopy部署 54
2.3.2 站点预编译 57
2.4 ASP.NET应用程序的管理 59
2.4.1 网站管理工具 59
2.4.2 编辑ASP.NET配置文件 62
2.5 小结 64
第3章 ASP.NET页面剖析 66
3.1 页面的激活 66
3.1.1 运行机制 66
3.1.2 处理请求 72
3.1.3 页面的处理指令 76
3.2 Page类 83
3.2.1 Page类的属性 83
3.2.2 Page类的方法 86
3.2.3 Page类的事件 90
3.2.4 事件模型 91
3.3 页面的生命期 92
3.3.1 页面建立 92
3.3.2 处理回发 95
3.3.3 页面结束阶段 96
3.4 小结 97
第4章 ASP.NET核心服务器控件 99
4.1 ASP.NET服务器控件的一般性 100
4.1.1 Control类的一般性 100
4.1.2 Control类的方法 102
4.1.3 Control类的事件 103
4.1.4 新特征 104
4.2 HTML控件 107
4.2.1 HTML控件的一般性 107
4.2.2 HTML容器控件 109
4.2.3 HTML输入控件 114
4.2.4 HtmlImage控件 119
4.3 Web控件 120
4.3.1 Web控件的一般性 120
4.3.2 核心Web控件 122
4.3.3 其他Web控件 128
4.4 验证控件 132
4.4.1 验证控件的一般性 132
4.4.2 控件库 134
4.4.3 特殊能力 137
4.5 小结 142
第5章 使用页面 144
5.1 窗体编程 144
5.1.1 HtmlForm类 145
5.1.2 多窗体 146
5.1.3 跨页投递 150
5.2 处理页面错误 154
5.2.1 错误处理基本知识 154
5.2.2 把错误映射到页面 158
5.3 ASP.NET跟踪 162
5.3.1 跟踪ASP.NET的执行流 162
5.3.2 编写跟踪消息 164
5.3.3 跟踪查看器 165
5.4 网页个性化 166
5.4.1 创建用户配置文件 167
5.4.2 与页面交互 170
5.4.3 配置文件提供程序 175
5.5 小结 178
第6章 Rich Page组合 180
6.1 使用母版页 180
6.1.1 用ASP.NET 1.x创建
Rich Page 181
6.1.2 编写母版页 182
6.1.3 编写内容页 184
6.1.4 处理母版页和内容页 189
6.1.5 母版页的编程 192
6.2 使用主题 194
6.2.1 理解ASP.NET主题 195
6.2.2 设置页面和控件的主题 198
6.2.3 使用主题 201
6.3 使用向导 204
6.3.1 Wizard控件概述 204
6.3.2 给向导添加步骤 208
6.3.3 通过向导进行导航 211
6.4 小结 214
第Ⅱ部分 向ASP.NET网站添加数据
第7章 ADO.NET数据提供程序 218
7.1 .NET数据访问基础结构 218
7.1.1 .NET托管的数据提供
程序 219
7.1.2 通过ADO.NET访问
的数据源 222
7.1.3 提供程序工厂模型 224
7.2 连接到数据源 227
7.2.1 SqlConnection类 227
7.2.2 连接字符串 232
7.2.3 连接池 238
7.3 执行命令 242
7.3.1 SqlCommand类 242
7.3.2 ADO.NET数据阅读器 245
7.3.3 异步命令 250
7.3.4 使用事务 254
7.3.5 SQL Server 2005特有的
增强功能 258
7.4 小结 261
第8章 ADO.NET数据容器 263
8.1 数据适配器 263
8.1.1 SqlDataAdapter类 264
8.1.2 表映射机制 269
8.1.3 批更新的工作原理 272
8.2 内存中的数据容器对象 274
8.2.1 DataSet对象 275
8.2.2 DataTable对象 280
8.2.3 数据关系 285
8.2.4 DataView对象 287
8.3 小结 289
第9章 数据绑定模型 291
9.1 基于数据源的数据绑定 291
9.1.1 可用的数据源 291
9.1.2 数据绑定属性 294
9.1.3 列表控件 298
9.1.4 迭代控件 303
9.2 数据绑定表达式 308
9.2.1 简单的数据绑定 308
9.2.2 DataBinder类 310
9.2.3 其他数据绑定方法 312
9.3 数据源组件 315
9.3.1 数据源组件概述 315
9.3.2 数据源控件的本质 316
9.3.3 SqlDataSource控件 318
9.3.4 AccessDataSource类 323
9.3.5 ObjectDataSource控件 324
9.3.6 SiteMapDataSource类 332
9.3.7 XmlDataSource类 335
9.4 小结 338
第10章 创建可绑定的数据网格 340
10.1 DataGrid控件 340
10.1.1 DataGrid对象模型 341
10.1.2 把数据绑定到网格 344
10.1.3 使用DataGrid 348
10.2 GridView控件 351
10.2.1 GridView对象模型 351
10.2.2 把数据绑定到一个
GridView控件 355
10.2.3 数据分页 364
10.2.4 数据排序 370
10.2.5 编辑数据 375
10.2.6 高级功能 378
10.3 小结 383
第11章 管理一个记录的视图 385
11.1 DetailsView控件 385
11.1.1 DetailsView对象模型 385
11.1.2 把数据绑定到一个
DetailsView控件 391
11.1.3 创建Master/Detail视图 393
11.1.4 使用数据 396
11.2 FormView控件 404
11.2.1 FormView对象模型 404
11.2.2 把数据绑定到FormView
控件 405
11.2.3 编辑数据 408
11.3 小结 410
第Ⅲ部分 ASP.NET基础结构
第12章 HTTP请求上下文 414
12.1 应用程序初始化 414
12.1.1 HttpApplication类
的属性 415
12.1.2 应用程序模块 415
12.1.3 HttpApplication类
的方法 416
12.1.4 HttpApplication类
的事件 417
12.2 global.asax文件 419
12.2.1 编译global.asax文件 419
12.2.2 global.asax的语法 421
12.2.3 跟踪错误和异常 423
12.3 HttpContext类 424
12.3.1 HttpContext类的属性 425
12.3.2 HttpContext类的方法 426
12.4 Server对象 428
12.4.1 HttpServerUtility类
的属性 428
12.4.2 HttpServerUtility类
的方法 428
12.5 HttpResponse对象 433
12.5.1 HttpResponse类的属性 433
12.5.2 HttpResponse类的方法 436
12.6 HttpRequest对象 438
12.6.1 HttpRequest类的属性 438
12.6.2 HttpRequest类的方法 441
12.7 小结 442
第13章 状态管理 444
13.1 应用程序的状态 444
13.1.1 HttpApplicationState类
的属性 445
13.1.2 HttpApplicationState类
的方法 446
13.1.3 状态同步 446
13.1.4 应用程序状态的折衷 447
13.2 会话的状态 448
13.2.1 会话状态HTTP模块 449
13.2.2 HttpSessionState类
的属性 453
13.2.3 HttpSessionState类
的方法 454
13.3 使用会话状态 455
13.3.1 标识一个会话 455
13.3.2 会话的生命期 459
13.3.3 把会话数据持久存储
到远程服务器中 461
13.3.4 把会话数据持久存储
在SLQ Server中 465
13.4 定制会话状态管理 469
13.4.1 建立一个定制的会话状态
提供程序 470
13.4.2 生成一个定制的会话ID 473
13.5 页面的视图状态 475
13.5.1 StateBag类 475
13.5.2 视图状态的常见问题 476
13.5.3 没有视图状态的
Web窗体编程 479
13.5.4 ASP.NET 2.0视图状态
的变化 481
13.5.5 把视图状态保存
在服务器上 485
13.6 小结 488
第14章 ASP.NET的缓存机制 490
14.1 缓存应用程序数据 490
14.1.1 Cache类 490
14.1.2 使用ASP.NET Cache
对象 494
14.1.3 实践问题 501
14.1.4 设计定制的依赖对象 506
14.1.5 XML数据的缓存依赖
对象 508
14.1.6 SQL Server缓存依赖
对象 512
14.2 缓存ASP.NET页面 518
14.2.1 @OutputCache指令 519
14.2.2 HttpCachePolicy类 524
14.2.3 缓存页面的多个版本 526
14.2.4 缓存部分ASP.NET页面 529
14.2.5 ASP.NET 2.0中的
高级特征 533
14.3 小结 535
第15章 ASP.NET的安全性 537
15.1 威胁来自何方 537
15.2 ASP.NET的安全性上下文 538
15.2.1 究竟谁在运行我的
ASP.NET应用程序? 538
15.2.2 改变ASP.NET进程
的身份 541
15.2.3 ASP.NET应用程序的
信任等级 543
15.2.4 ASP.NET的身份验证
方法 546
15.3 使用窗体身份验证 547
15.3.1 窗体身份验证控制流 548
15.3.2 FormsAuthentication类 551
15.3.3 窗体身份验证的配置 553
15.3.4 高级的窗体身份验证
特征 556
15.4 成员资格和角色管理API 560
15.4.1 Membership类 561
15.4.2 成员资格提供程序 565
15.4.3 角色管理 569
15.5 安全性相关的控件 573
15.5.1 Login控件 573
15.5.2 LoginName控件 575
15.5.3 LoginStatus控件 576
15.5.4 LoginView控件 577
15.5.5 PasswordRecovery控件 579
15.5.6 ChangePassword控件 580
15.5.7 CreateUserWizard控件 582
15.6 小结 583