第0章 如何学习ASP.NET 1
0.1 初识ASP.NET 2
0.2 学习ASP.NET应注意什么 2
第1篇 基础知识 4
第1章 ASP.NET见面礼——第1个ASP.NET动态网站 4
1.1 ASP.NET简介 5
1.1.1 什么是.NET 5
1.1.2 什么是ASP.NET 6
1.2 ASP.NET开发运行环境的搭建 6
1.2.1 IIS的安装 7
1.2.2 安装Visual Studio 2010 8
1.2.3 Visual Studio 2010开发环境介绍 9
1.3 创建我的第1个ASP.NET网站 13
1.4 网站的发布 14
1.5 网站的打包与安装 15
1.5.1 网站的打包 15
1.5.2 网站的安装 18
1.6 高手点拨 19
1.7 实战练习 20
第2章 ASP.NET的游戏规则——ASP.NET网站开发基础 21
2.1 ASP.NETWeb入门知识——准备工作 22
2.1.1 静态页面的工作原理 22
2.1.2 客户端动态页面 23
2.1.3 服务器端动态页面 23
2.2 HTML基础 24
2.2.1 HTML基本语法 24
2.2.2 HTML常用标签 25
2.3 高手点拨 37
2.4 实战练习 37
第3章 ASP.NET中的编程语言——C#语言基础 39
3.1 ASP.NET与C#的关系 40
3.1.1 什么是C 40
3.1.2 我的第1个C#应用程序 40
3.1.3 ASP.NET中的C 42
3.2 C#的语法规则 42
3.3 标识符和关键字 43
3.3.1 标识符 44
3.3.2 关键字 45
3.4 数据类型 45
3.4.1 整数类型 46
3.4.2 实数类型 47
3.4.3 字符型 48
3.4.4 布尔类型 48
3.5 常量和变量 49
3.5.1 常量 49
3.5.2 变量 52
3.6 数组 55
3.6.1 声明和创建数组 55
3.6.2 多维数组 58
3.7 数据类型转换 59
3.7.1 隐式转换 60
3.7.2 显式转换 60
3.7.3 装箱与拆箱 62
3.8 表达式和运算符 63
3.8.1 表达式 63
3.8.2 运算符 64
3.9 程序流程控制及常用语句 69
3.9.1 选择语句 69
3.9.2 循环语句 73
3.9.3 转移语句 77
3.10 高手点拨 79
3.11 实战练习 80
第4章 网页速成法——ASP.NET中的控件应用 81
4.1 HTML服务器控件 82
4.1.1 将HTML控件转换为服务器控件 82
4.1.2 文本类型控件 83
4.1.3 按钮类型控件 85
4.1.4 选择类型控件 87
4.1.5 图形显示类型控件 87
4.1.6 文件上传控件 88
4.2 Web服务器控件 89
4.2.1 文本类型控件 89
4.2.2 按钮类型控件 91
4.2.3 列举类型控件 94
4.3 验证控件 105
4.3.1 必填验证控件 105
4.3.2 范围验证控件 107
4.3.3 正则表达式验证控件 111
4.3.4 比较验证控件 113
4.3.5 用户自定义验证控件 115
4.3.6 验证控件总和 118
4.4 导航控件 121
4.4.1 菜单导航控件 121
4.4.2 SiteMapPath站点地图控件 123
4.4.3 TreeView树状图控件 125
4.5 Web用户控件 127
4.5.1 用户控件概述 127
4.5.2 自定义控件 129
4.6 高手点拨 133
4.7 实战练习 133
第5章 使用已有资源——ASP.NET的内置对象 135
5.1 ASP.NET的内置对象 136
5.1.1 Response对象 136
5.1.2 Request对象 137
5.1.3 Server对象 138
5.1.4 Application对象 139
5.1.5 Session对象 141
5.1.6 Cookie对象 143
5.2 高手点拨 146
5.3 实战练习 146
第6章 Web编程必备技术——JavaScript及jQuery 147
6.1 JavaScript小试牛刀 148
6.1.1 Hello,JavaScript World 148
6.1.2 如何在网页中使用JavaScript代码 150
6.2 JavaScript基本语法 150
6.3 JavaScript语句 151
6.3.1 循环语句 151
6.3.2 转向语句 154
6.3.3 异常处理语句 155
6.3.4 空语句 157
6.4 JavaScript函数 157
6.4.1 函数的定义和调用 157
6.4.2 作为数据的函数 159
6.4.3 函数的作用域 160
6.4.4 Arguments对象 160
6.4.5 函数的属性和方法 162
6.5 JavaScript对象 162
6.5.1 字符串String对象 163
6.5.2 数学Math对象 164
6.5.3 日期和时间Date对象 165
6.6 正则表达式 165
6.7 jQuery 167
6.7.1 jQuery的安装 168
6.7.2 第一个jQuery程序 168
6.7.3 jQuery基本语法 169
6.7.4 jQuery选择器 169
6.7.5 jQuery Ajax请求 172
6.8 高手点拨 175
6.9 实战练习 176
第7章 网站中的数据源——数据库与SQL基础 177
7.1 数据库概述 178
7.1.1 关系型数据库 178
7.1.2 数据库基本对象简介 178
7.2 数据库的搭建——SQL Server 2008 179
7.2.1 安装SQL Server 2008 179
7.2.2 启动SQL Server 2008 181
7.2.3 数据库基本操作 181
7.3 SQL语言入门 183
7.3.1 创建数据库CREATE DATABASE 184
7.3.2 删除数据库DROP DATABASE 184
7.3.3 创建表CREATE TABLE 185
7.3.4 修改表ALTER TABLE 186
7.3.5 删除表DROP TABLE 186
7.3.6 插入数据INSERT 186
7.3.7 更新数据UPDATE 187
7.3.8 删除数据DELETE 187
7.4 SQL查询语句 188
7.4.1 FROM子句 189
7.4.2 使用WHERE子句设置查询条件 189
7.4.3 通配符 190
7.5 SQL连接查询 191
7.5.1 内连接 192
7.5.2 外连接 192
7.5.3 交叉连接 194
7.6 SQL常用函数 194
7.6.1 统计字段值的数目 195
7.6.2 计算字段的平均值 195
7.6.3 计算字段值的和 196
7.6.4 返回最大值或最小值 196
7.7 存储过程 197
7.7.1 存储过程的创建 197
7.7.2 存储过程的执行 199
7.8 高手点拨 200
7.9 实战练习 200
第8章 ASP.NET与数据库的中介——数据控件应用 201
8.1 数据控件概述 202
8.2 数据源(DataSource)控件 202
8.2.1 数据源(DataSource)控件概述 202
8.2.2 AccessDataSource 203
8.2.3 SqlDataSource 206
8.2.4 ObjectDataSource 208
8.2.5 XmIDataSource 209
8.2.6 SiteMapDataSource 211
8.3 高手点拨 212
8.4 实战练习 212
第2篇 核心技术 214
第9章 数据库的操纵工具——ADO.NET 214
9.1 ADO.NET简介 215
9.1.1 什么是ADO.NET 215
9.1.2 ADO.NET的结构 215
9.2 ADO.NET与数据库的连接 216
9.2.1 ADO.NET与SQL Server数据库的连接 216
9.2.2 ADO.NET与Access数据库的连接 221
9.3 ADO.NET与SQL Server数据库的交互 223
9.3.1 使用SqlConnection对象连接数据库 223
9.3.2 使用SqlCommand对象在连接状态下操作数据 223
9.3.3 使用SqlDataAdapter对象在无连接状态下操作数据 231
9.3.4 使用DataTable对象操作数据 234
9.3.5 使用DataSet对象操作数据 236
9.3.6 数据访问接口 236
9.4 ASP.NET数据控件 237
9.4.1 数据访问控件概述 237
9.4.2 GridView控件 237
9.4.3 DetailsView控件 253
9.4.4 FormView控件的属性 255
9.4.5 FormView控件的操作 256
9.4.6 ListView控件和DataPager控件 258
9.5 高手点拨 259
9.6 实战练习 259
第10章 母版页及其主题 261
10.1 母版页 262
10.1.1 母版页的创建 262
10.1.2 使用母版页创建内容页 262
10.1.3 访问母版页的控件 263
10.2 主题 265
10.2.1 主题概述 265
10.2.2 创建并应用主题 265
10.2.3 动态切换主题 268
10.3 高手点拨 271
10.4 实战练习 272
第11章 ASP.NET缓存机制 273
11.1 ASP.NET缓存概述 274
11.2 页面缓存 274
11.2.1 页面输出缓存 274
11.2.2 页面局部缓存 276
11.2.3 页面数据缓存 280
11.3 高手点拨 283
11.4 实战练习 284
第12章 Web Service 285
12.1 Web Service简介 286
12.2 Web Service服务代码隐藏文件 287
12.3 使用Visual Studio 2010创建Web Service 288
12.4 调用Web Service 290
12.5 高手点拨 294
12.6 实战练习 294
第13章 统一数据查询模式——LINQ 295
13.1 LINQ技术概述 296
13.2 LINQ查询语法概述 297
13.3 LINQ常用子句 298
13.3.1 from查询子句 298
13.3.2 select选择子句 301
13.3.3 where条件子句 302
13.3.4 orderby排序子句 303
13.3.5 group分组子句 304
13.4 使用LINQ操作和访问数据库 305
13.4.1 简单查询 308
13.4.2 数据库的增删改查操作 310
13.4.3 EntityDataSource控件 316
13.5 高手点拨 318
13.6 实战练习 318
第14章 GDI+图形图像 319
14.1 GDI+概述 320
14.2 GDI+常用绘图对象 320
14.2.1 创建Graphics对象 320
14.2.2 Pen对象 322
14.2.3 Brush对象 324
14.2.4 Font结构 326
14.2.5 Color结构 328
14.2.6 Point结构 329
14.3 基本图形绘制 329
14.3.1 绘制直线和矩形 329
14.3.2 绘制椭圆、弧线和扇形 332
14.3.3 绘制多边形 338
14.4 综合应用 339
14.5 高手点拨 342
14.6 实战练习 342
第15章 错误在所难免——调试与错误处理 343
15.1 错误的产生原因及类型 344
15.1.1 错误的产生 344
15.1.2 错误的类型 344
15.2 查找错误 345
15.2.1 设置断点 345
15.2.2 启动调试 346
15.2.3 逐语句调试 346
15.2.4 逐过程调试 346
15.2.5 跳出 346
15.2.6 停止调试 347
15.3 捕捉和处理错误 347
15.3.1 捕捉错误 347
15.3.2 处理错误 349
15.4 使用日志文件记录错误 352
15.5 减少错误的秘诀 354
15.5.1 好的编程习惯 354
15.5.2 好的编码方式 355
15.6 高手点拨 358
15.7 实战练习 358
第16章 报表是如何生成的——水晶报表 359
16.1 水晶报表简介 360
16.1.1 什么是水晶报表 360
16.1.2 水晶报表的分类 360
16.1.3 报表节 360
16.1.4 在Visual Studio 2010中安装水晶报表 362
16.2 水晶报表的数据交换 362
16.2.1 水晶报表对象模型 362
16.2.2 Crystal报表数据源和数据访问模式 363
16.3 Crystal报表数据相关操作 369
16.3.1 水晶报表中的数据分组与排序 369
16.3.2 水晶报表中数据的筛选 370
16.3.3 创建和使用水晶图表 372
16.3.4 创建和使用子报表 374
16.4 高手点拨 376
16.5 实战练习 376
第17章 新型Web开发技术——ASP.NET Ajax 377
17.1 ASP.NETAjax入门 378
17.1.1 什么是ASP.NET Ajax 378
17.1.2 ASP.NET Ajax开发环境介绍 379
17.1.3 第1个ASP.NET Ajax应用程序 380
17.2 ASP.NETAjax常用控件 381
17.2.1 ScriptManager控件 381
17.2.2 UpdatePanel控件 384
17.2.3 UpdateProgress控件 387
17.2.4 Timer控件 389
17.3 ASP.NETAjax应用实例 390
17.3.1 登录实例 390
17.3.2 无刷新操作数据实例 393
17.4 Ajax ControlToolkit控件的引入与使用 395
17.4.1 将Ajax Control Toolkit扩展控件添加到ToolBox中 396
17.4.2 使用Ajax Control ToolKit扩展控件 397
17.5 高手点拨 398
17.6 实战练习 398
第18章 给我的程序加把锁——ASP.NET安全策略 399
18.1 ASP.NET安全机制综述 400
18.2 ASP.NET身份验证机制 401
18.2.1 ASP.NET Forms身份验证机制 401
18.2.2 ASP.NET Windows身份验证机制 403
18.2.3 Passport验证 404
18.3 ASP.NET登录控件全解 404
18.3.1 ASP.NET登录机制概述 404
18.3.2 查看登录控件默认使用的数据库 404
18.3.3 手动更改Visual Studio 2010的默认网站配置 406
18.3.4 使用登录控件 409
18.3.5 使用权限管理模块 413
18.4 高手点拨 415
18.5 实战练习 416
第19章 基于XML的新型Web开发模式 417
19.1 传统开发模式与基于XML的新型开发模式的对比 418
19.1.1 传统的Web开发模式 418
19.1.2 基于XML的Web开发模式 419
19.1.3 我的第1个XML应用 420
19.2 XML基本语法 423
19.2.1 XML快速入门 423
19.2.2 XML的概念 424
19.2.3 XML的术语 426
19.2.4 XML的实现 426
19.2.5 XML的实例分析 427
19.2.6 XML与HTML的区别 428
19.3 在ASP.NET中读写XML数据 428
19.3.1 读取XML文件 429
19.3.2 写入XML文件 430
19.4 XSL技术 432
19.5 高手点拨 434
19.6 实战练习 434
第3篇 应用开发 436
第20章 银行在线支付系统 436
20.1 系统分析 437
20.1.1 系统目标 437
20.1.2 系统原理 437
20.1.3 技术要点 439
20.2 系统设计 442
20.2.1 设计订单提交功能 442
20.2.2 支付成功后的处理页面 444
20.2.3 支付返回通知提示的处理页面 448
20.2.4 关闭数据库连接 449
20.3 运行系统 450
20.4 在我的网站中运用本系统 452
20.5 开发过程中的常见问题及解决方式 452
第21章 在线投票统计系统 453
21.1 系统分析 454
21.1.1 系统目标 454
21.1.2 系统原理 454
21.1.3 技术要点 454
21.2 数据库分析及设计 455
21.2.1 数据库分析 455
21.2.2 创建数据库 455
21.2.3 创建数据表 456
21.3 系统设计 457
21.3.1 系统页面设计 457
21.3.2 配置网站的Web.config 458
21.3.3 数据库连接代码设计 458
21.3.4 获取投票内容代码设计 459
21.3.5 显示投票内容代码设计 460
21.3.6 保存投票信息代码设计 460
21.3.7 在线投票统计结果代码设计 461
21.3.8 在线投票结果图形代码设计 462
21.3.9 在线投票结果显示代码设计 463
21.4 运行系统 463
21.5 在我的网站中应用本系统 464
21.6 开发过程中的常见问题及解决方式 464
第22章 邮件收发系统 465
22.1 系统分析 466
22.1.1 系统目标 466
22.1.2 SMTP邮件发送原理 466
22.1.3 POP3邮件接收原理 466
22.2 系统设计 467
22.2.1 系统页面设计 467
22.2.2 定义基本信息类 468
22.2.3 建立发送邮件类 469
22.2.4 建立接收邮件类 471
22.2.5 调用接收邮件类 482
22.3 运行系统 483
22.4 在我的网站中运用本系统 484
22.5 开发过程中的常见问题及解决方式 484
第23章 网站流量统计系统 485
23.1 系统分析 486
23.1.1 系统目标 486
23.1.2 系统原理 486
23.1.3 技术要点 487
23.2 数据库分析及设计 489
23.2.1 数据库分析 489
23.2.2 创建数据库 489
23.2.3 创建数据表 490
23.3 系统设计 491
23.3.1 母版页展示 491
23.3.2 系统首页展示 492
23.3.3 配置网站的Web.config 492
23.3.4 首页代码设计 493
23.3.5 今日流量统计页展示 497
23.3.6 本月流量统计页设计 500
23.3.7 本年流量统计页设计 503
23.3.8 IP流量统计页设计 505
23.4 运行系统 507
23.5 在我的网站中应用本系统 508
23.6 开发过程中的常见问题及解决方式 508
第24章 用户验证系统 509
24.1 系统分析 510
24.1.1 系统目标 510
24.1.2 系统原理 510
24.1.3 技术要点 510
24.2 数据库分析及设计 512
24.2.1 数据库分析 512
24.2.2 创建数据库 512
24.2.3 创建数据表 513
24.3 实现步骤 514
24.3.1 登录页面设计 514
24.3.2 用户注册页面设计 516
24.3.3 配置网站的Web.config 518
24.3.4 数据库连接代码设计 518
24.3.5 判断用户是否注册代码设计 519
24.3.6 保存用户注册信息代码设计 520
24.3.7 用户登录检查代码设计 521
24.3.8 判断用户是否注册事件代码 521
24.3.9 保存用户信息事件代码 522
24.3.10 用户登录事件代码 523
24.3.11 用户注册事件代码 523
24.4 运行系统 524
24.5 在我的网站中应用本系统 524
24.6 开发过程中的常见问题及解决方式 524
第25章 广告生成系统 525
25.1 系统分析 526
25.1.1 系统目标 526
25.1.2 系统原理 526
25.1.3 技术要点 526
25.2 数据库分析及设计 526
25.2.1 数据库分析 527
25.2.2 创建数据库 527
25.2.3 创建数据表 528
25.3 系统设计 528
25.3.1 系统页面设计 529
25.3.2 配置网站的Web.config 530
25.3.3 数据库连接代码设计 530
25.3.4 保存广告信息代码设计 531
25.3.5 显示广告代码设计 532
25.3.6 保存广告信息事件代码设计 534
25.3.7 关闭当前页面事件代码设计 534
25.3.8 显示广告信息事件代码设计 535
25.4 运行系统 535
25.5 在我的网站中应用本系统 536
25.6 开发过程中的常见问题及解决方式 536
第26章 文件批量上传系统 537
26.1 系统分析 538
26.1.1 系统目标 538
26.1.2 系统原理 538
26.1.3 技术要点 538
26.2 数据库分析及设计 538
26.2.1 数据库分析 539
26.2.2 创建数据库 539
26.2.3 创建数据表 539
26.3 系统设计 540
26.3.1 系统页面设计 540
26.3.2 配置网站的Web.config 542
26.3.3 数据库连接代码设计 542
26.3.4 保存上传信息代码设计 543
26.3.5 获取上传文件信息代码设计 544
26.3.6 保存上传文件的事件代码设计 545
26.3.7 下载上传文件的事件代码设计 546
26.4 运行系统 546
26.5 在我的网站中应用本系统 547
26.6 开发过程中的常见问题及解决方式 548
第4篇 项目实战 550
第27章 项目实战前的几点忠告——项目规划 550
27.1 项目开发流程 551
27.1.1 策划阶段 551
27.1.2 需求分析阶段 552
27.1.3 开发阶段 552
27.1.4 编码阶段 553
27.1.5 系统测试阶段 553
27.1.6 系统验收阶段 554
27.1.7 系统维护阶段 554
27.2 项目开发团队 554
27.2.1 项目团队组成 554
27.2.2 项目团队要求 555
27.3 项目开发文档 556
27.3.1 项目开发文档的作用 556
27.3.2 项目开发文档的分类 556
27.4 项目的实际运作 558
27.5 项目规划中的常见问题及解决方式 559
27.5.1 如何满足客户需求 559
27.5.2 如何控制项目进度 560
27.5.3 如何控制项目预算 560
第28章 我的博客我做主——博客系统实战 561
28.1 开发背景 562
28.2 需求及功能分析 562
28.2.1 需求分析 562
28.2.2 总体功能设计 562
28.2.3 各功能模块设计 563
28.3 三层架构 564
28.3.1 数据库设计 565
28.3.2 使用ASP.NET建立三层结构 567
28.3.3 各层之间相互引用 569
28.3.4 配置数据库Web.config中的数据库连接 569
28.4 系统功能实现 569
28.4.1 添加数据访问类 569
28.4.2 用户登录功能实现 570
28.4.3 基本设置功能的实现 574
28.4.4 添加日志功能的实现 578
28.4.5 显示内容功能的实现 580
28.4.6 日志管理功能的实现 581
28.5 系统运行 583
28.6 开发过程常见问题及解决 584
第29章 B2C网上购物系统实战 585
29.1 开发背景 586
29.2 需求及功能分析 586
29.2.1 需求分析 586
29.2.2 总体功能设计 587
29.2.3 各功能模块设计 588
29.3 系统功能实现 590
29.3.1 系统目录框架的搭建 590
29.3.2 顾客注册功能的实现 592
29.3.3 人员信息的维护 595
29.3.4 商品呈现功能实现 596
29.3.5 购物车功能实现 597
29.3.6 商品信息管理功能实现 602
29.3.7 订单信息管理功能实现 607
29.4 系统运行 611
29.4.1 普通用户登录 611
29.4.2 管理员登录 612
29.5 开发过程中的常见问题及解决方式 612
第30章 信息管理不用愁——信息管理系统开发实战 613
30.1 图书管理系统 614
30.1.1 系统分析 614
30.1.2 功能实现 615
30.1.3 开发过程中的常见问题及解决方式 620
30.2 学生管理系统 621
30.2.1 系统分析 621
30.2.2 功能实现 622
30.2.3 开发过程中的常见问题及解决方式 625
30.3 教师档案管理系统 626
30.3.1 系统分析 626
30.3.2 功能实现 627
30.3.3 开发过程中的常见问题及解决方式 630