第1章 TheBeerHouse项目简介 1
1.1 问题 1
1.2 设计 2
1.3 解决方案 3
1.4 本章小结 5
第2章 ASP.NET模型-视图-控制器(MVC)简介 7
2.1 模型-视图-控制器模式 7
2.2 ASP.NET MVC与ASP.NET Web Forms的比较 9
2.2.1 ASP.NETWebForms 10
2.2.2 ASP.NETMVC 11
2.2.3 在WebForms和MVC之间选择 12
2.3 安装必要软件 12
2.4 第一个ASP.NETMVC项目 18
2.5 模型 23
2.6 视图 23
2.7 控制器 27
2.7.1 URL路由 27
2.7.2 控制器工厂 28
2.7.3 操作 29
2.8 本章小结 30
第3章 开发网站设计 31
3.1 问题 31
3.2 设计 33
3.2.1 设计网站布局 33
3.2.2 在多个页面之间共享公用设计 40
3.2.3 创建一个导航系统 45
3.2.4 创建可访问的网站 47
3.2.5 在全体页面中共享公用行为 48
3.3 解决方案 50
3.4 本章小结 60
第4章 规划体系结构 61
4.1 问题 61
4.2 设计 62
4.2.1 体系结构和MVC架构 62
4.2.2 设计一种分层的基础设施 62
4.2.3 选择一种数据存储 64
4.2.4 设计数据访问层 65
4.2.5 设计业务逻辑层 72
4.2.6 web.config文件配置 77
4.2.7 用户界面 78
4.3 解决方案 83
4.4 本章小结 83
第5章 成员和用户配置 85
5.1 问题 85
5.2 功能 87
5.2.1 密码存储机制 87
5.2.2 Windows身份验证模式和Forms身份验证模式 88
5.2.3 “自力更生”方案 89
5.2.4 使用成员资格进行身份验证 90
5.2.5 使用角色进行授权 101
5.2.6 ASP.NETMVC控制器操作的安全保证 104
5.2.7 使用用户配置保存用户信息 105
5.2.8 Web Administration Tool 108
5.2.9 MVC架构的内置安全模块 109
5.3 设计 110
5.3.1 待实现的功能 110
5.3.2 设计数据库表 110
5.3.3 设计模型 111
5.3.4 设计视图 111
5.3.5 设计控制器 112
5.4 解决方案 113
5.4.1 初始设置 114
5.4.2 数据库配置 116
5.4.3 实现模型 118
5.4.4 实现控制器 120
5.4.5 实现视图 132
5.5 本章小结 150
第6章 新闻、文章和博客管理 153
6.1 问题 153
6.2 设计 155
6.2.1 需要实现的功能 155
6.2.2 设计数据库表 157
6.2.3 用于访问数据库的查询 162
6.2.4 设计配置模块 163
6.2.5 设计模型 163
6.2.6 定义模型 167
6.2.7 设计视图 172
6.2.8 设计控制器 177
6.2.9 安全需求 178
6.3 解决方案 179
6.3.1 实现配置模块 179
6.3.2 实现模型 180
6.3.3 实现控制器 201
6.3.4 实现视图 222
6.4 本章小结 254
第7章 民意投票 257
7.1 问题 257
7.2 设计 259
7.2.1 需要实现的功能 259
7.2.2 处理多次投票 260
7.2.3 设计数据库表 262
7.2.4 用于访问数据库的查询 262
7.2.5 设计配置模块 263
7.2.6 设计模型 263
7.2.7 设计视图 263
7.2.8 设计控制器 264
7.3 解决方案 265
7.3.1 构建数据库 265
7.3.2 实现配置模块 265
7.3.3 实现模型 266
7.3.4 实现控制器 268
7.3.5 实现视图 278
7.4 本章小结 296
第8章 新闻通讯 297
8.1 问题 297
8.2 设计 299
8.2.1 关于垃圾邮件 300
8.2.2 创建和发送电子邮件 300
8.2.3 管理在服务器中执行的长操作 303
8.2.4 设计数据库表 310
8.2.5 设计配置模块 311
8.2.6 设计模型 312
8.2.7 设计视图 312
8.2.8 设计控制器 313
8.3 解决方案 313
8.3.1 配置web.config 314
8.3.2 实现模型 314
8.3.3 实现控制器 315
8.3.4 实现视图 321
8.4 本章小结 328
第9章 论坛 331
9.1 问题 331
9.2 设计 332
9.2.1 设计数据库表 333
9.2.2 用于访问数据库的查询 334
9.2.3 设计配置模块 334
9.2.4 设计模型 334
9.2.5 设计视图 335
9.2.6 设计控制器 336
9.3 解决方案 336
9.3.1 实现配置模块 336
9.3.2 实现模型 337
9.3.3 实现控制器 340
9.3.4 实现视图 354
9.4 本章小结 376
第10章 网上商店 379
10.1 问题 379
10.2 设计 380
10.2.1 选择一种在线支付解决方案 381
10.2.2 设计数据库表 386
10.2.3 设计配置模块 388
10.2.4 设计模型 388
10.2.5 设计视图 389
10.2.6 设计控制器 391
10.3 解决方案 392
10.3.1 构建数据库 392
10.3.2 实现配置模块 394
10.3.3 实现模型 395
10.3.4 实现控制器 400
10.3.5 实现视图 424
10.3.6 店面视图 439
10.3.7 订单处理 447
10.3.8 订单管理 455
10.4 本章小结 459
第11章 网站本地化 461
11.1 问题 461
11.2 设计 462
11.2.1 对ASP.NET 1.x本地化功能的回顾 463
11.2.2 ASP.NET 2.0提供的本地化功能 464
11.2.3 ASP.NET 3.5和MVC提供的本地化功能 465
11.3 解决方案 471
11.4 本章小结 476
第12章 部署网站 477
12.1 问题 477
12.2 设计 478
12.2.1 部署基于MVC架构的应用程序时需要特殊考虑的内容 478
12.2.2 在SQL Server 2008中部署数据库 479
12.2.3 部署MVC Web应用程序 479
12.3 解决方案 480
12.3.1 附加一个数据库 480
12.3.2 创建一个备份和维护计划 483
12.3.3 使用脚本部署数据库 486
12.3.4 部署MVC Web应用程序 490
12.3.5 为MVC架构配置IIS 6 492
12.3.6 为MVC架构配置IIS 7 494
12.4 本章小结 501