第1章 ASP.NET 2.0和Wrox United应用程序简介 1
1.1 将要创建的站点 2
1.2 ASP.NET 2.0——创建动态Web站点的强大工具 4
1.3 Web站点常见任务的简单解决方案 4
1.3.1 一致性和个性化 5
1.3.2 导航 5
1.3.3 登录、安全和角色 5
1.3.4 连接数据 5
1.3.7 Web服务 6
1.3.8 性能和缓存 6
1.3.5 代码 6
1.3.6 组件化 6
1.3.9 错误和异常处理 7
1.3.10 部署 7
1.3.11 部署工具 7
1.4 ASP.NET 2.0与其他技术相融合的地方 8
1.5 Wrox United应用程序 9
1.7 VWD Express——开发环境 10
1.6 开始设计Wrox United站点 10
1.7.1 Cassini 11
1.7.2 VWD的Solution Explorer 11
1.7.3 使用VWD创建、打开和使用Web站点及页面 13
1.7.4 示例代码目录 14
1.7.5 运行页面 16
1.7.6 设计区 17
1.7.7 工具箱 18
1.7.8 属性窗口 20
1.7.9 错误列表窗口 21
1.7.10 VWD的数据库浏览器 24
1.8 本章小结 24
1.9 练习 25
第2章 站点设计 27
2.1 总体设计目标 27
2.2 Master和Content页面 28
2.2.1 创建Master页面 29
2.2.2 创建Content页面 31
2.2.3 Master和Content页面的示例 32
2.2.4 在Master页面中使用级联样式表 33
2.3 Master页面的其他功能 38
2.3.1 多层次的Master页面 39
2.3.2 Master页面支持多个内容占位符 40
2.4 创建站点地图 41
2.5 站点设计的基本原则 44
2.6 ASP.NET 2.0应用程序的标准文件 44
2.6.1 Web.config包含整个站点的设置 45
2.6.3 通过Web浏览器编辑站点配置 49
2.6.2 Global.asax包含整个站点都可以使用的代码 49
2.7 排查站点设计中的错误 52
2.8 本章小结 52
2.9 练习 53
第3章 页面设计 55
3.1 静态页面设计 55
3.2 HTML 62
3.3 动态内容 67
3.4 服务器端控件 69
3.4.1 服务器控件工具箱 69
3.4.2 服务器控件 70
3.4.3 VWD的Source View 74
3.5 服务器控件的类型 79
3.5.1 标准控件 79
3.5.2 HTML控件 80
3.5.3 导航控件 82
3.6 本章小结 94
3.7 练习 95
4.1.1 身份——我是谁 97
4.1 安全基础知识 97
第4章 成员关系和身份验证 97
4.1.2 身份验证——这就是我 98
4.1.3 授权——这是我能做的 98
4.1.4 登录站点 98
4.2 ASP.NET安全性 99
4.2.1 Login控件 99
4.2.2 个性化 109
4.2.3 成员关系 111
4.2.4 身份验证 116
4.3 Wrox United的安全性 118
4.4 本章小结 121
4.5 练习 122
第5章 用主题设置样式 123
5.1 为站点设置样式 123
5.1.1 style属性 124
5.1.2 CSS——级联样式表 127
5.1.3 主题 136
5.1.4 设置站点级别的样式 152
5.2 Wrox United中的主题 154
5.3 样式和布局的最佳实践 159
5.3.1 可用性 159
5.3.2 可访问性 159
5.4 本章小结 160
5.5 练习 161
第6章 事件和代码 163
6.1 Web服务器体系结构 163
6.2 服务器端事件 165
6.3 为页面添加事件 166
6.3.1 回送结构 171
6.3.2 可用的事件 172
6.3.3 选择应该使用的事件 173
6.4 不只是能被用户触发的事件 176
6.5 间接事件 180
6.6 取消事件 182
6.7 全局事件 185
6.8 本章小结 186
6.9 练习 186
7.1 数据库 187
第7章 读取数据 187
7.2 使用ASP.NET 2.0的数据控件 188
7.2.1 数据源控件 189
7.2.2 数据绑定控件 190
7.2.3 数据源控件和数据绑定控件相配合 193
7.2.4 使用VWD配置数据控件 194
7.3 数据源控件 194
7.3.1 数据源控件的基本属性 194
7.3.2 隐藏连接字符串 198
7.3.3 连接字符串和提供商 199
7.4.1 数据绑定选项列表 200
7.4 数据绑定控件 200
7.4.2 GridView控件 206
7.4.3 DataList和Repeater控件 211
7.4.4 DetailsView和FormView控件 218
7.5 带有参数的数据源控件 222
7.6 多个数据控件一起工作 226
7.7 XML数据 232
7.9 本章小结 236
7.8 绑定语法 236
7.10 练习 237
第8章 写入数据 239
8.1 写入数据的简介 239
8.1.1 写入数据的控件选择 240
8.1.2 DataKeyNames 240
8.2 修改已存在的记录 241
8.3 添加新记录 246
8.4 删除记录 249
8.5 上传图片 252
8.6 改善图片上传功能 255
8.7 本章小结 260
8.8 练习 261
第9章 代码 263
9.1 变量和数据类型 263
9.1.1 Common Language Runtime类型 264
9.1.2 声明变量 265
9.1.3 赋值 266
9.1.4 数据转换 267
9.1.5 空(Null)值 268
9.1.6 使用字符串 269
9.1.7 使用日期 271
9.1.8 使用数组和集合 274
9.1.9 决定使用数组还是使用集合 280
9.1.10 枚举 280
9.1.11 常量 282
9.2 语句 282
9.2.1 运算符 283
9.2.2 判断 289
9.2.3 循环 292
9.3 命名空间 300
9.4 使用类 301
9.4.1 创建类 302
9.4.2 继承 310
9.5 变量的作用域和生存期 316
9.6 泛型 317
9.7 本章小结 318
9.8 练习 319
第10章 组件化 321
10.1 代码与内容的分离 322
10.2 代码与设计的分离 323
10.3 后台代码 323
10.3.1 Page指令 324
10.3.2 不完全类 324
10.3.3 事件处理程序/函数 325
10.4 创建后台代码文件 326
10.4.1 ASP.NET 2.0中的编译 328
10.4.2 App_Code文件夹 329
10.5 数据层 330
10.5.1 两层应用程序 330
10.5.2 三层应用程序 330
10.5.3 ASp.NET 2.0的新特性 331
10.5.4 Wrox United Object DataSource 337
10.6 用户控件 339
10.6.1 用户控件结构 341
10.6.2 简单的用户控件 342
10.6.3 Wrox United News用户控件 346
10.7 合成控件 351
10.8 程序集和自定义服务器控件 351
10.9 本章小结 351
10.10 练习 352
第11章 角色和配置文件 353
11.1 角色的重要性 353
11.2 Wrox United中角色的介绍 355
11.3 配置页面级别的授权 364
11.4 在代码中使用角色 372
11.5 启用用户配置文件 373
11.6 构建配置文件 374
11.6.1 Wrox United中的配置文件 375
11.6.2 存储首选项 384
11.7 管理匿名购物车 390
11.8 本章小结 391
11.9 练习 392
第12章 Web服务 393
12.1 查看Web服务 394
12.2 Web服务的生存期 398
12.2.1 调用Web服务 399
12.2.2 传送Web服务 399
12.2.3 返回响应 401
12.2.4 使用响应 403
12.3 Web服务的结构 403
12.3.1 处理指令 403
12.3.2 命名空间 403
12.3.3 公有类 404
12.3.4 Web方法 404
12.4 创建Web服务 406
12.5 测试Web服务 409
12.6 Web服务的发现 411
12.6.1 DISCO 412
12.6.2 UDDI 412
12.6.3 发现Web服务 413
12.7 向应用程序添加比赛时间服务 415
12.8 综合整理 417
12.9 远程Web服务——PocketPC应用程序 422
12.10 Web服务的安全性 426
12.10.1 加密和基于消息的安全性 427
12.10.2 服务的身份验证和访问控制 427
12.11 本章小结 427
12.12 练习 428
第13章 电子商务 429
13.1 电子商务流水线 430
13.2 产品目录 430
13.2.1 目录的结构 430
13.2.2 目录的设计 431
13.2.3 目录的实现 432
13.2.4 产品项页面 438
13.3 购物车 443
13.3.1 购物对象 443
13.3.2 配置文件 452
13.3.3 购物车控件 454
13.4 结账 466
13.4.1 订单处理 466
13.4.4 信用卡处理 467
13.4.3 地址/递送详情 467
13.4.2 登录 467
13.4.5 计划结账 469
13.5 安全事务 482
13.6 其他工作 483
13.7 本章小结 483
13.8 练习 484
第14章 性能 485
14.1 简单的技术 485
14.1.1 对象处理 486
14.1.2 数据库连接 489
14.1.3 存储过程 489
14.1.4 强类型的集合 498
14.1.5 会话状态 499
14.1.6 视图状态 499
14.2 页面和代码 500
14.2.1 数据绑定和回送 501
14.2.2 对象引用 501
14.2.3 StringBuilder与字符串拼接的对比 502
14.2.4 挑选正确的集合 503
14.3 缓存 504
14.4 性能设计 509
14.5 测试性能 510
14.5.1 跟踪 511
14.5.2 压力测试工具 513
14.5.3 性能监控 513
14.6 本章小结 513
14.7 练习 514
15.1 防御性编码 515
第15章 错误处理 515
15.1.1 参数检查 516
15.1.2 避免假设 517
15.1.3 查询参数 518
15.1.4 验证 519
15.2 异常处理 524
15.2.1 异常简介 524
15.2.2 Exception对象 525
15.2.3 如何捕获异常 526
15.2.4 记录异常 532
15.2.5 邮寄异常 535
15.2.6 引发异常 537
15.3 异常最佳实践 537
15.4 全局异常处理 538
15.5 自定义错误页面 540
15.6 调试和跟踪 542
15.6.1 使用ASP.NET跟踪 542
15.6.2 使用调试器 546
15.8 练习 552
15.7 本章小结 552
第16章 部署、构建和结束 553
16.1 站点部署 553
16.1.1 检验表 554
16.1.2 编译和运行应用程序 554
16.1.3 发布站点 556
16.1.4 XCOPY部署 559
16.1.5 在部署站点时遇到的常见问题 561
16.2.1 前面的测试 564
16.2 测试和维护 564
16.2.2 维护 565
16.3 接下来的工作 571
16.4 参考站点 572
16.5 本章小结 572
16.6 练习 573
附录A 练习题答案 575
附录B 配置 601
附录C Wrox United数据库设计 615
附录D VWD Database Explorer 623
附录E CSS和HTML快速参考 639