第一部分 基础知识 3
第1章 ASP.NET初步 3
1.1 Web的工作原理 3
1.1.1 动态处理技术 4
1.1.2 ASP.NET的不同之处 5
1.1.3 客户端处理技术 5
1.1.4 ASP.NET如何将客户机和服务器结合起来 6
1.2 .NET框架 6
1.2.1 运行阶段通用语言 7
1.2.2 .NET框架类 8
1.3 安装ASP.NET 8
1.3.1 安装Internet信息服务器 9
1.3.2 安装.NET框架SDK 11
1.4 创建ASP.NET页面 12
1.4.1 开发环境 13
1.5 ASP.NET页面中的元素 14
1.6.2 编程方面的改进 16
1.6 ASP和ASP.NET之比较 16
1.6.1 与ASP的根本差异 16
1.6.3 编程方法学方面的差异 17
1.7 总结 17
1.8 问与答 18
1.9 作业 18
1.9.1 小测验 18
1.9.2 练习 18
第2章 创建ASP.NET页面 20
2.1 一个简单的ASP.NET应用程序 20
2.1.1 Web表单 22
2.1.2 代码声明块 23
2.1.3 代码交付块 24
2.1.4 页面编译指令 25
2.1.5 流程 26
2.1.6 视图状态 27
2.2 编写ASP.NET代码和HTML代码 28
2.2.1 对代码进行注释 29
2.2.2 跨越多行的代码 30
2.3 应用程序的其他方面 31
2.3.1 再谈ASP.NET编译 31
2.3.2 导入名称空间 31
2.4 CLR和ASP.NET 33
2.4.1 中间语言 33
2.4.2 执行 33
2.4.3 处理 33
2.4.6对ASP.NET而言,CLR意味着什么 34
2.4.4 组合体 34
2.4.5 并行执行 34
2.5 ASP.NET编程语言 35
2.6 重新审视前面的代码 35
2.7 这不是ASP 36
2.8 总结 37
2.9 问与答 37
2.10.2 练习 38
2.10 作业 38
2.10.1 小测验 38
第3间 使用Visual Basic.NET 39
3.1 Visual Basic.NET简介 39
3.2 变量 39
3.2.1 数据类型 40
3.2.2 变量的声明 41
3.2.3 变量的命名 42
3.2.4 数据类型转换 43
3.3 数组 45
3.4 操作符 47
3.5 条件逻辑 48
3.5.1 If语句 48
3.5.2 Case语句 50
3.6 循环逻辑 52
3.6.1 While循环 52
3.6.2 For循环 53
3.6.3 死循环 54
3.7 分支逻辑 55
3.7.1 子程序 55
3.7.2 函数 57
3.7.3 可选参数 58
3.7.4 事件处理程序 58
3.8 类 61
3.9 使用VB.NET函数 64
3.11 这不是ASP 65
3.10 给未来的VB.NET高手:到哪里查找参考资料 65
3.12 总结 66
3.13 问与答 66
3.14 作业 67
3.14.1 小测验 67
3.14.2 练习 67
第4章 在C#和VB.NET 中使用ASP.NET对象 68
4.1 C#简介 68
4.1.1 C#语法范例 68
4.2 对象概述 71
4.2.1 属性 72
4.2.2 方法 72
4.2.3 对象实例 72
4.2.4 静态成员 73
4.3 ASP.NET对象 74
4.3.1 Response对象 74
4.3.2 Request对象 78
4.3.3 HttpCookie对象 79
4.3.4 Page对象 82
4.3.5 Session对象 86
4.3.6 HttpApplication对象 91
4.3.7 HttpServerUtility对象 92
4.4 深入学习C#的资源指南 93
4.5 这不是ASP 93
4.6 总结 94
4.7 问与答 94
4.8.2 练习 95
4.8 作业 95
4.8.1 小测验 95
第5章 Web表单初步 96
5.1 表单简介 96
5.2 Web表单简介 97
5.3 Web表单编程模型 98
5.3.1 服务器控件 99
5.3.2 服务器控件事件 99
5.3.3 发送Web表单 102
5.3.4 保存状态 103
5.3.5 Web表单的处理顺序 105
5.4 HTML服务器控件 105
5.5 Web服务器控件 109
5.5.1 使用Web控件 110
5.5.2 即时发送数据 113
5.5.3 Web服务器控件与HTML服务器控件之比较 115
5.7 总结 116
5.6 这不是ASP 116
5.8 问与答 117
5.9 作业 117
5.9.1 小测验 117
5.9.2 练习 118
第6章 再谈Web表单 119
6.1 Web表单的扩展性 119
6.2 用户控件 119
6.2.1 创建用户控件 120
6.2.2 使用用户控件 124
6.2.3 改进用户控件 127
6.3 自定义控件 128
6.3.1 创建自定义控件 129
6.3.2 使用自定义控件 130
6.3.3 使用属性和状态 131
6.3.4 加入事件 135
6.4 在运行阶段创建控件 139
6.5 这不是ASP 142
6.6 总结 143
6.7 问与答 143
6.8 作业 144
6.8.1 小测验 144
6.8.2 练习 144
第7章 验证ASP.NET页面 145
7.1 有效性验证情形 145
7.2 ASP.NET有效性验证 149
7.2.1 Validation控件的工作原理 150
7.3 使用Validation控件 154
7.3.1 服务器上的有效性验证 160
7.3.2 禁用有效性验证 162
7.3.3 正则表达式 162
7.4 定制有效性验证 164
7.4.1 错误消息 164
7.4.2 显示有效性验证摘要 165
7.4.3 自定义Validation控件 168
7.5 这不是ASP 171
7.6 总结 171
7.7 问与答 171
7.8 作业 172
7.8.1 小测验 172
7.8.2 练习 172
第一部分 复习 173
附加项目1 173
一个银行业应用程序 173
用户控件 174
登录页面 174
账户页面 177
账单支付页面 180
总结 182
8.1 什么是数据库 185
第8章 创建数据库 185
第二部分 数据存取和处理 185
8.1.1 关键字(keys)和约束(constraints) 187
8.1.2 数据库通信标准 188
8.1.3 何时应使用数据库 188
8.2 创建数据库 188
8.3 结构化查询语言(SQL) 192
8.3.1 SELECT语句 193
8.3.2 INSERT语句 196
8.3.3 UPDATE语句 196
8.3.4 DELETE语句 197
8.4 在ASP.NET中存取数据 197
8.4.1 存取数据 197
8.5 这不是ASP 200
8.6 总结 201
8.7 问与答 201
8.8.2 练习 202
8.8.1 小测验 202
8.8 作业 202
第9章 在ASP.NET中使用数据库 203
9.1 ASP.NET访问数据库简介 203
9.2 DataSet 204
9.2.1 使用DataSet 205
9.2.2 关系 207
9.2.3 填充DataSet 208
9.3 数据绑定 209
9.3.1 使用数据绑定 211
9.4 数据绑定控件 215
9.4.1 Repeater服务器控件 215
9.4.2 DataList服务器控件 219
9.4.3 DataGrid服务器控件 224
9.4.4 数据绑定控件小结 230
9.5 这不是ASP 239
9.8.1 小测验 240
9.8 作业 240
9.8.2 练习 240
9.7 问与答 240
9.6 总结 240
第10章 与ASP.NET通信 242
10.1 ADO.NET简介 242
10.1.1 ADO.NET和ADO的比较 242
10.1.2 ADO.NET和XML 243
10.1.3 ADO.NET对象模型 244
10.2 再谈DataSet 245
10.2.1 修改DataRow中的数据 247
10.2.2 查看DataTable中的数据 248
10.2.3 并发 251
10.3 数据库和ADO.NET的交互 251
10.3.1 连接信息 251
10.3.2 OleDbConnection对象 253
10.3.3 OleDbcommand对象 253
10.3.4 OleDbDataReader对象 254
10.3.5 Update、Insert和Delete 256
10.3.6 OleDbDataAdapter对象 257
10.4 在ASP.NET 中使用ADO.NET 262
10.5 这不是ASP 272
10.6 总结 273
10.7 问与答 273
10.8 作业 274
10.8.1 小测验 274
10.8.2 练习 274
11.1 XML简介 275
第11章 在ASP.NET中使用XML 275
11.1.1 XML数据模型 276
11.1.2 XML模式 278
11.2 在ASP.NET中存取XML 279
11.2.1 读取XML 279
11.2.2 写XML 283
11.2.3 验证XML 285
11.3 XML文档对象模型 289
11.3.1 装载XML数据 290
11.3.2 修改XML数据 293
11.4 XML和DataSet 296
11.5 这不是ASP 300
11.6 总结 300
11.7 问与答 301
11.8 作业 301
11.8.2 练习 301
第12章 应用高级数据技术 302
12.1 高级数据库技术 302
12.1.1 参数化查询 303
12.1.2 存储过程 307
11.8.1 小测验 310
12.1.3 事务 314
12.2 高级XML技术 316
12.2.1 XpathDocument 317
12.2.2 Xpath 320
12.2.3 XslTransforms 322
12.4 总结 326
12.3 这不是ASP 326
12.5 问与答 327
12.6 作业 327
12.6.1 小测验 327
12.6.2 练习 328
第13章 Web服务器上的文件读写 329
13.1 在ASP.NET中使用文件 329
13.2 包含外部文件 329
13.2.1 服务器端包含 330
13.2.2 其他包含 332
13.3 文件访问 332
13.3.1 文件、流、Reader和Writer 332
13.3.2 查看文件和目录 333
13.3.3 打开文件 340
13.3.4 读文件 342
13.3.5 写文件 346
13.3.6 其他文件和目录操作 346
13.3.7 文件对象小结 347
13.4.1 创建隔离存储区域 348
13.4 隔离存储区 348
13.4.2 访问隔离存储区 349
13.5 这不是ASP 352
13.6 总结 353
13.7 问与答 354
13.8 作业 354
13.8.1 小测验 354
13.8.2 练习 354
第14章 使用ASP.NET改良后的缓存功能 355
14.1 什么是缓存技术 355
14.2 ASP.NET如何使用缓存技术 356
14.2.1 页面缓存 356
14.2.2 配置缓存 357
14.2.3 输出和数据缓存 357
14.3 如何使用缓存 357
14.3.1 缓存页面输出 357
14.3.2 缓存对象 363
14.3.3 缓存依存关系 368
14.3.4 使用HttpCachePolicy类 371
14.4 高效地使用缓存技术 374
14.5 这不是ASP.NET 375
14.6 总结 375
14.7 问与答 376
14.8 作业 376
14.8.1 小测验 376
14.8.2 练习 376
第二部分 复习 377
附加项目2 377
数据添加功能 377
数据库 377
ASP.NET页面 380
总结 390
第15章 使用业务对象 393
15.1 组件简介 393
第三部分 应用程序级主题 393
15.1.1 业务对象是什么 394
15.1.2 为何使用组件 394
15.1.3 ASP.NET如何使用组件 395
15.2 创建业务对象 395
15.2.1 为何需要编译Database对象 398
15.3 开发业务对象 398
15.4 一个实用的例子 402
15.4.1 一些需要考虑的因素 409
15.5 使用非.NET组件 409
15.6 这不是ASP 412
15.7 总结 413
15.8 问与答 413
15.9 作业 414
15.9.1 小测验 414
15.9.2 练习 414
16.1 Web的工作方式——再访问 415
第16章 创建Web服务 415
16.2 Web服务简介 416
16.2.1 Web服务方案 417
16.2.2 Web服务的编程模型 418
16.2.3 用于访问Web服务的协议 419
16.2.4 为何使用Web服务 420
16.3 创建Web服务 421
16.3.1 创建功能 421
16.3.3 WebMethod属性 424
16.3.2 启用发现功能 424
16.3.4 部署Web服务 426
16.4 使用已有的业务对象创建Web服务 426
16.5 从服务返回数据 429
16.6 这不是ASP 430
16.7 总结 430
16.8 问与答 431
16.9 作业 431
16.9.1 小测验 431
16.9.2 练习 432
第17章 使用Web服务并确保其安全 433
17.1 使用Web服务 433
17.2 通过ASP.NET页面使用Web服务 435
17.2.1 发现 435
17.2.2 创建代理类 437
17.2.3 实现代理类 440
17.2.4 另一个使用Web服务的例子 442
17.4 确保Web服务的安全 445
17.3 关于使用Web服务的建议 445
17.5 这不是ASP 453
17.6 总结 453
17.7 问与答 454
17.8 作业 454
17.8.1 小测验 454
17.8.2 练习 454
第18章 配置和部署ASP.NET应用程序 455
18.1 ASP.NET应用程序简介 455
18.2 Global.asax 456
18.1.1 \bin目录 456
18.2.1 HttpApplication类 458
18.2.2 编写global.asax 458
18.3 配置ASP.NET 463
18.3.1 Web.config 463
18.3.2 配置段 467
18.3.3 自定义配置 471
18.4 部署应用程序 475
18.4.1 组合体仓库 475
18.4.2 影子组合体 476
18.5 这不是ASP 477
18.6 总结 477
18.7 问与答 478
18.8 作业 478
18.8.1 小测验 478
18.8.2 练习 479
19.1 为何要将代码和内容分开 480
第19章 将内容和代码分开 480
19.2 Code-behind表单 481
19.2.1 在ASP.NET页面中使用code-behind表单 483
19.2.2 在用户控件中使用code-behind表单 490
19.3 资源文件和本地化 493
19.3.1 应用程序的本地化 493
19.3.2 将资源包装到文件中 500
19.4 这不是ASP 505
19.6 问与答 506
19.5 总结 506
19.7 作业 507
19.7.1 小测验 507
19.7.2 练习 507
第20章 调试ASP.NET页面 508
20.1 调试简介 508
20.2 Try和Catch语句 511
20.2.1 引发异常 517
20.3 跟踪 518
20.2.2 何时使用try语句 518
20.3.1 页面级跟踪 520
20.3.2 应用程序级跟踪 525
20.4 CLR调试器 527
20.4.1 使用CLR调试器 527
20.5 有关调试方面的建议 530
20.6 这不是ASP 530
20.7 总结 530
20.8 问与答 531
20.9 作业 531
20.9.1 小测验 531
20.9.2 练习 532
第21章 确保ASP.NET应用程序的安全 533
21.1 安全基础 533
21.1.1 Windows中的安全性 534
21.2 认证 535
21.2.1 Windows 认证 536
21.2.2 表单认证 539
21.2.3 Passport认证 545
21.3 授权 546
21.4 模拟 549
21.5 这不是ASP 551
21.6 总结 551
21.7 问与答 552
21.8 作业 552
21.8.1 小测验 552
21.8.2 练习 552
第三部分 复习 553
附加项目3 553
添加业务对象 553
Web服务 563
总结 565
22.1 需求简介:BananaMobiles 569
第22章 创建一个完整的应用程序 569
第四部分 完整的应用程序和移动Web 页面 569
22.2 设计应用程序 570
22.2.1 数据层 570
22.2.2 前端 571
22.2.3 业务对象 572
22.3 构建BananaMobile站点 572
22.3.1 创建数据库 572
22.3.2 业务对象 580
22.3.3 ASP.NET页面 591
22.3.4 Web服务 610
22.4 应用程序中还可以改进的地方 614
22.5 这不是ASP 615
22.6 总结 615
22.7 问与答 616
22.8 作业 616
22.8.1 小测验 616
23.1 移动Web表单是什么 617
第23章 创建移动Web页 617
23.1.1 移动Web表单和ASP.NET Web表单的区别何在 618
23.1.2 为何需要使用移动Web表单 618
23.2 安装移动Web SDK 619
23.3 移动Web表单初步 620
23.3.1 移动表单的工作原理 622
23.3.2 创建一个更合适的界面* 623
23.4 开发移动页面 624
23.4.1 添加分页功能 629
23.4.2 设备特定的输出和模板集 630
23.4.3 使用移动设备的功能 633
23.5 这不是ASP 636
23.6 总结 636
23.7 问与答 637
23.8 作业 637
23.8.1 小测验 638
23.8.2 练习 638
练习 641
小测验 641
第五部分 附录 641
第1章答案 641
附录A 作业答案 641
第2章答案 642
小测验 642
练习 642
第3章答案 644
小测验 644
练习 645
第4章答案 646
小测验 646
练习 647
第5章答案 649
小测验 649
练习 649
小测验 653
练习 653
第6章答案 653
第7章答案 663
小测验 663
练习 663
第8章答案 664
小测验 664
练习 664
第10章答案 665
小测验 665
小测验 665
练习 665
第9章答案 665
练习 666
第11章答案 670
小测验 670
练习 671
小测验 674
第12章答案 674
练习 675
第13章答案 678
小测验 678
练习 679
第14章答案 681
小测验 681
14.8.2 练习 682
第15章答案 684
小测验 684
练习 684
第16章答案 687
小测验 687
练习 688
第17章答案 690
小测验 690
练习 691
小测验 692
第18章答案 692
练习 693
第19章答案 694
小测验 694
练习 695
第20章答案 698
小测验 698
练习 698
练习 699
第21章答案 699
小测验 699
第22章答案 701
小测验 701
第23章答案 702
小测验 702
练习 702
B.1.1 Web表单的问题 704
B.1 ASP.NET特有的问题 704
附录B 常犯的ASP.NET错误 704
B.1.2 其他问题 706
B.2 与传统ASP不同的地方 706
B.2.1 VBScript方面的错误 706
B.2.2 传统ASP.NET方面的问题 708
附录C ASP.NET控件:属性和方法 709
C.1 HTML服务器控件 710
C.1.1 HTML服务器控件都有的属性 710
C.1.2 HTML服务器控件 711
C.2 Web服务器控件 717
C.2.1 通用Web服务器控件属性 718
C.2.2 ASP.NETWeb服务器控件 720
C.3 有效性验证服务器控件 733
C.3.1 有效性验证服务器控件都有的属性 733
C.3.2 有效性验证服务器控件 734
附录D ADO.NET控件:属性和方法 736
D.1 DataSet及相关对象 736
D.2 管理提供程序 747