第1章 ASP.NET编程模型 2
1.1 究竟什么是ASP.NET 2
第Ⅰ部分 生成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.1提供程序模型的基本原理 21
1.4 ASP.NET提供程序模型 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.1网站管理工具 59
2.4 ASP.NET应用程序的管理 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.1 HTML控件的一般性 107
4.2 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.1验证控件的一般性 132
4.4验证控件 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.1 Wizard控件概述 204
6.3使用向导 204
6.3.2给向导添加步骤 208
6.3.3通过向导进行导航 211
6.4小结 214
第Ⅱ部分 向ASP.NET网站添加数据 218
第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 SQLServer2005特有的增强功能 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.1.1可用的数据源 291
9.1 基于数据源的数据绑定 291
第9章 数据绑定模型 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把数据绑定到一个 355
GridView控件 355
10.2.3数据分页 364
10.2.4数据排序 370
10.2.5编辑数据 375
10.2.6高级功能 378
10.3 小结 383
11.1.1 DetailsView对象模型 385
11.1 DetailsView控件 385
第11章 管理一个记录的视图 385
11.1.2把数据绑定到一个 391
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基础结构 414
第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