第1章 ASP.NET开发准备 1
1.1 ASP.NET简介 1
1.1.1 从ASP到ASP.NET 1
1.1.2 ASP.NET的结构 2
1.2 ASP.NET开发运行环境搭建 4
1.2.1 IIS安装和配置 4
1.2.2 安装.NET Framework SDK 6
1.2.3 安装VS.NET开发工具 8
1.2.4 安装SQL Server数据库 9
1.3 ASP.NET开发简介 13
1.3.1 页面和控件 13
1.3.2 ADO.NET结构 14
1.3.3 使用ADO.NET 16
1.3.4 建立网站应用项目 21
1.4 独家见解 23
1.4.1 选择J2EE还是.NET 23
1.5.1 如何学好ASP.NET 25
1.4.2 选择VB.NET还是C 25
1.5 指点迷津 25
1.5.2 如何打包发布网站 26
1.5.3 如何调试ASP.NET应用程序 29
1.6 小结 33
第2章 注册及登录验证模块设计 34
2.1 在SQL Server中建立用户信息表 34
2.1.1 确定用户信息字段 34
2.1.2 建立用户表 37
2.2 创建注册提交页面 38
2.2.1 使用验证控件 39
2.2.2 指点迷津——验证控件的种类及其功能 40
2.2.3 使用图形码验证 43
2.2.4 多学两招——生成图形码的多种技术 44
2.3 处理注册数据 45
2.3.1 检测用户名是否存在 45
2.3.2 脚下留心——避免SQL漏洞注入错误 47
2.3.3 保存注册信息到数据库 48
2.3.4 ASP.NET所包含的文件类型及其主要作用 50
2.3.5 发送注册成功确认邮件 51
2.3.6 独家见解——在前台还是后台检验数据有效性 52
2.4 实现用户登录及注销 52
2.4.1 创建登录页面 52
2.4.2 指点迷津——HTML控件与Web控件的比较 53
2.4.3 验证用户登录信息 54
2.4.4 脚下留心——不安全的用户名密码验证 56
2.4.5 找回密码 57
2.4.6 使用Session保存登录信息 58
2.4.7 独家见解——不要滥用Session 59
2.4.8 从系统注销退出 59
2.5 指点迷津 60
2.5.1 验证控件的验证发生在何处 60
2.5.2 使用MD5加密算法 61
2.6 小结 63
第3章 访问统计模块设计 64
3.1 功能分析及数据库结构 64
3.1.1 功能概述 64
3.1.2 数据库表设计 66
3.2 访问统计的设计 67
3.2.1 获取并记录访问者信息 67
3.2.2 指点迷津——使用Request对象获得更多客户端信息 72
3.2.3 使用Session防止重复记录 74
3.2.4 显示访问计数器 75
3.2.5 多学两招——使用图片样式显示计数器 76
3.3 生成统计分析结果 78
3.3.1 日流量统计 78
3.3.2 多学两招——学会使用组件生成统计结果图表 80
3.3.3 月流量统计 84
3.3.4 访客浏览器统计 85
3.3.5 访客操作系统统计 87
3.3.6 地区分布统计 88
3.3.7 指点迷津——判断浏览器是否支持JavaScript和Cookies 90
3.4 小结 91
第4章 新闻发布模块设计 93
4.1 功能分析及数据库结构 93
4.1.1 功能概述 93
4.1.2 数据库表结构 96
4.1.3 数据库中的存储过程 98
4.2 新闻浏览设计 100
4.2.1 首页设计 100
4.2.2 新闻列表页面设计 103
4.2.3 新闻浏览页面设计 105
4.2.4 查看评论内容 106
4.2.5 添加新闻评论 108
4.2.6 新闻搜索页面 109
4.3 新闻发布管理设计 110
4.3.1 添加新闻 111
4.3.2 设置为头版新闻 113
4.3.3 实现图片及附件上传 114
4.3.4 多学两招——如何实现多附件上传 116
4.3.5 新闻修改设计 117
4.3.6 目录管理设计 118
4.3.7 新闻管理页面设计 122
4.3.8 新闻删除设计 122
4.3.9 新闻审核设计 124
4.3.10 指点迷津——使用DataList和Repeater实现数据分页 124
4.3.11 权限管理和用户管理 126
4.4 指点迷津 128
4.4.1 什么叫Code Behind技术 128
4.4.2 只有必要时使用服务器端控件 131
4.4.3 如何提高ASP.NET应用程序的性能 131
4.5 重点难点分析 134
4.6 系统应用与扩展 135
4.7 小结 135
5.1 系统分析与总体设计 136
5.1.1 系统功能分析 136
第5章 在线选课管理系统 136
5.1.2 系统预览 138
5.1.3 系统结构设计 141
5.2 数据库设计与实现 141
5.2.1 数据库系统分析 142
5.2.2 数据库逻辑设计 143
5.2.3 数据库物理实现 143
5.3.1 编辑Web.config页面 147
5.3 编写公共类与公共页面 147
5.3.2 数据库连接操作类——Db类 148
5.3.3 工具类——MyUtility类 150
5.3.4 错误信息类和错误显示页面 151
5.3.5 登录页面 154
5.3.6 多学两招——创建自定义控件 157
5.4 系统管理设计 159
5.4.1 设置开始选课时间段 159
5.4.2 指点迷津——了解ViewState回传机制 160
5.4.3 教师与学生信息的录入 162
5.4.4 教学楼教室管理 165
5.5 教师开课管理 167
5.5.1 教师个人信息 168
5.5.2 开设课程 169
5.5.3 课程时间地点编排 171
5.5.4 设置学生成绩 174
5.5.5 指点迷津——DataGrid、Repeater和DataList的优缺点 177
5.6 学生选课设计 178
5.6.1 学生个人信息 179
5.6.2 查看必选课列表 180
5.6.3 任选课程预选和锁定 182
5.6.4 查看最终选课结果 185
5.7 重点难点分析 187
5.8 系统应用与扩展 188
5.9 网站的移植 188
5.10 小结 189
6.1.1 需求分析 190
6.1 系统设计 190
第6章 招聘管理系统 190
6.1.2 系统结构设计 191
6.1.3 指点迷津——Web服务与三层架构 192
6.1.4 业务流程 194
6.2 数据库设计 194
6.2.1 数据库需求分析 195
6.2.2 数据库逻辑结构设计 195
6.3 简历管理 199
6.3.1 简历类——Resumelnfo类 199
6.3.2 Web方法 202
6.3.3 简历中心 205
6.3.4 添加简历 207
6.3.5 查看/修改简历 209
6.3.6 简历初选 211
6.3.7 多学两招——实现DropDownList联动效果 213
6.4.1 Web方法 214
6.4 预约面试管理 214
6.4.2 预约信息 218
6.5 岗位需求管理 219
6.5.1 Web方法 219
6.5.2 添加需求 223
6.5.3 岗位需求管理列表 225
6.6 系统管理 228
6.6.1 Web服务 228
6.6.2 用户登录页面 230
6.6.3 用Session来控制页面的访问权限 231
6.6.4 添加角色 232
6.6.5 查看/修改角色 235
6.6.6 角色维护 236
6.6.7 添加用户 237
6.6.8 用户管理 240
6.6.9 指点迷津——验证控件的使用 241
6.7 重点难点分析 244
6.8 系统应用与扩展 245
6.9 小结 246
第7章 网上鲜花销售系统 247
7.1 系统设计 247
7.1.1 系统概述 247
7.1.2 需求分析 247
7.1.3 系统流程分析 248
7.2 数据库的设计与实现 248
7.2.1 数据库需求分析 249
7.2.2 数据库逻辑结构设计 249
7.2.3 数据库设计图 253
7.3 系统框架设计 254
7.3.1 指点迷津——什么是四层体系结构 254
7.3.2 搭建四层体系结构框架 255
7.3.3 数据模型层的建立 257
7.3.4 数据访问层的建立 258
7.3.5 业务逻辑层 260
7.4.1 页面头部控件 264
7.4 花店首页的实现 264
7.4.2 鲜花分类导航栏 266
7.4.3 推荐鲜花品种 268
7.4.4 热门鲜花品种 269
7.5 鲜花信息模块 272
7.5.1 鲜花分类列表页面 272
7.5.2 鲜花详细信息页面 274
7.6.1 添加到购物车 275
7.6 购物模块 275
7.6.2 购物车的管理 278
7.6.3 指点迷津——在DataGrid中用CheckBox列控制 282
7.6.4 指点迷津——Form身份认证 283
7.7 订单模块 289
7.8 后台管理模块 292
7.8.1 鲜花分类管理页面 292
7.8.2 鲜花信息管理页面 295
7.8.3 订单管理页面 298
7.8.4 订单详细信息管理页面 300
7.8.5 指点迷津——DataBinder.Eval的效率问题 302
7.9 重点难点分析 303
7.10 系统应用与扩展 304
7.11 小结 304
第8章 用户权限管理系统 305
8.1 系统设计 305
8.1.1 系统概述 305
8.1.2 需求分析 306
8.1.3 技术策略 306
8.2 数据库的设计与实现 313
8.2.1 数据库概念设计 313
8.2.2 数据库逻辑结构设计 315
8.2.3 数据库关系 318
8.3 权限系统功能设计 321
8.3.1 系统功能分析 321
8.3.2 系统开发总体方案分析 322
8.4.1 编写PageBase类 324
8.4 编写公共类 324
8.4.2 编写助手类MyUtility 325
8.5 权限管理设计 327
8.5.1 Index布局 327
8.5.2 用户管理页面 328
8.5.3 角色管理页面 333
8.5.4 用户角色管理页面 336
8.5.5 模块管理页面 340
8.5.6 功能管理页面 343
8.5.7 模块功能管理页面 347
8.5.8 用户权限管理页面 351
8.5.9 角色权限管理页面 356
8.6 重点难点分析 360
8.7 系统应用与扩展 361
8.8 小结 362
第9章 博客船系统 363
9.1 立意过程 363
9.1.1 关于Web 2.0 363
9.1.2 博客世界的现状与展望 364
9.1.3 博客船,沟通博客你我他 365
9.1.4 话语心声——一种传送幸福希望的途径 366
9.1.5 博客船承载幸福希望 366
9.1.6 独家见解——如何灵光闪现,制作有创意的网站 367
9.2 系统分析与设计 367
9.2.1 系统分析与设计步骤 367
9.2.2 概念化 368
9.2.3 对象分析 369
9.2.4 模块与流程分析 370
9.2.5 系统架构设计 371
9.2.6 使用CodePlus代码生成器 372
9.2.7 Microsoft SQL Server 2000数据库与工厂模式 373
9.2.8 指点迷津——规划功能分布于系统架构的各层之间 375
9.3 数据库设计 377
9.3.1 指点迷津——数据库设计原则 377
9.3.2 数据库表结构设计 378
9.4.1 从这里入手 382
9.4 博客船代码实现过程 382
9.4.2 数据库的代码设计 383
9.4.3 VS.NET中的解决方案概览 387
9.4.4 Model实体层 391
9.4.5 DAL接口与工厂层 393
9.4.6 DAL层——数据访问层 395
9.4.7 脚下留心——数据库的空值处理及Datetime类型问题 399
9.4.8 BLL商业逻辑层 400
9.4.9 UI用户界面层 405
9.5 博客船功能实现 407
9.5.1 幸福希望的分类目录管理 407
9.5.2 幸福希望的添加 417
9.5.3 幸福希望的随机显示 418
9.5.4 在博客中运用博客船 420
9.6 测试与发布 422
9.7 小结 422
附录A 编程规范 423