第1篇 基础知识 3
第1章 ASP.NET开发入门 3
1.1 ASP.NET简介 4
1.1.1 ASP.NET发展历程 4
1.1.2 ASP.NET优势 4
1.1.3 .NET Framework 5
1.1.4 ASP.NET的运行原理 5
1.1.5 ASP.NET的运行机制 6
1.2 ASP.NET开发环境搭建 7
1.2.1 安装IIS 7
1.2.2 配置IIS 9
1.2.3 安装Visual Studio 2008 10
1.2.4 配置Visual Studio 2008开发环境 13
1.3 ASP.NET网页语法 15
1.3.1 ASP.NET网页扩展名 15
1.3.2 页面指令 15
1.3.3 ASPX文件内容注释 16
1.3.4 服务器端文件包含 17
1.3.5 HTML服务器控件语法 17
1.3.6 ASP.NET服务器控件语法 18
1.3.7 代码块语法 19
1.3.8 表达式语法 20
1.4 制作一个ASP.NET网站 20
1.4.1 创建ASP.NET网站 21
1.4.2 设计Web页面 22
1.4.3 添加ASP.NET文件夹 23
1.4.4 添加配置文件Web.config 24
1.4.5 运行应用程序 25
1.4.6 配置IIS虚拟目录 25
1.5 MSDN帮助系统 27
1.5.1 如何安装MSDN 27
1.5.2 如何利用MSDN学习ASP.NET 30
第2章 C#语言基础 33
2.1 数据类型 34
2.1.1 值类型 34
2.1.2 引用类型 35
2.1.3 装箱和拆箱 36
2.2 常量和变量 37
2.2.1 常量 37
2.2.2 变量 37
2.3 类型转换 38
2.3.1 隐式类型转换 38
2.3.2 显式类型转换 39
2.4 运算符及表达式 40
2.4.1 算术运算符与算术表达式 40
2.4.2 关系运算符与关系表达式 41
2.4.3 赋值运算符与赋值表达式 41
2.4.4 逻辑运算符与逻辑表达式 42
2.4.5 位运算符 43
2.4.6 其他运算符 43
2.4.7 运算符的优先级 44
2.5 字符串处理 45
2.5.1 比较字符串 45
2.5.2 定位字符及子串 46
2.5.3 格式化字符串 46
2.5.4 截取字符串 47
2.5.5 分裂字符串 47
2.5.6 插入和填充字符串 48
2.5.7 删除和剪切字符串 49
2.5.8 复制字符串 49
2.5.9 替换字符串 50
2.6 流程控制 50
2.6.1 分支语句 50
2.6.2 循环语句 52
2.6.3 异常处理语句 54
2.7 数组 55
2.7.1 数组的声明 56
2.7.2 初始化数组 56
2.7.3 数组的遍历 57
第3章 ASP.NET的内置对象 59
3.1 Response对象 60
3.1.1 Response对象概述 60
3.1.2 Response对象的常用属性和方法 60
3.1.3 在页面中输出数据 61
3.1.4 页面跳转并传递参数 62
3.1.5 输出二进制图像 63
3.2 Request对象 64
3.2.1 Request对象概述 64
3.2.2 Request对象的常用属性和方法 64
3.2.3 获取页面间传送的值 65
3.2.4 获取客户端浏览器信息 66
3.3 Application对象 67
3.3.1 Application对象概述 67
3.3.2 Application对象的常用集合、属性和方法 68
3.3.3 使用Application对象存储和读取全局变量 68
3.3.4 设计一个访问计数器 69
3.3.5 聊天室 70
3.4 Session对象 72
3.4.1 Session对象概述 72
3.4.2 Session对象的常用集合、属性和方法 72
3.4.3 使用Session对象存储和读取数据 73
3.5 Cookie对象 74
3.5.1 Cookie对象概述 74
3.5.2 Cookie对象的常用属性和方法 74
3.5.3 使用Cookie对象保存和读取客户端信息 75
3.6 Server对象 77
3.6.1 Server对象概述 77
3.6.2 Server对象的常用属性和方法 77
3.6.3 使用Server.Execute方法和Server.Transfer方法重定向页面 78
3.6.4 使用Server.MapPath方法获取服务器的物理地址 79
3.6.5 使用Server.UrlEncode方法对字符串进行编码 79
3.6.6 使用Server.UrlDecode方法对字符串进行解码 79
3.7 实践与练习 80
第4章 ASP.NET Web常用控件 81
4.1 文本类型控件 82
4.1.1 Label控件 82
4.1.2 TextBox控件 84
4.2 按钮类型控件 87
4.2.1 Button控件 87
4.2.2 LinkButton控件 89
4.2.3 ImageButton控件 91
4.2.4 HyperLink控件 92
4.3 选择类型控件 94
4.3.1 ListBox控件 94
4.3.2 DropDownList控件 100
4.3.3 RadioButton控件 103
4.3.4 CheckBox控件 105
4.4 图形显示类型控件 109
4.4.1 Image控件 109
4.4.2 ImageMap控件 111
4.5 Panel容器控件 115
4.5.1 Panel控件的概述 115
4.5.2 使用Panel控件显示或隐藏一组控件 116
4.6 FileUpload文件上传控件 117
4.6.1 FileUpload控件的概述 117
4.6.2 使用FileUpload控件上传图片文件 118
4.7 登录控件 120
4.7.1 Login控件 120
4.7.2 CreateUserWizard控件 122
4.7.3 使用CreateUserWizard控件和Login控件实现用户注册与登录 123
4.8 实践与练习 127
第2篇 核心技术 131
第5章 数据验证技术 131
5.1 数据验证控件 132
5.1.1 非空数据验证控件 132
5.1.2 数据比较验证控件 133
5.1.3 数据类型验证控件 135
5.1.4 数据格式验证控件 137
5.1.5 数据范围验证控件 140
5.1.6 验证错误信息显示控件 142
5.1.7 自定义验证控件 144
5.2 禁用数据验证 145
5.3 实践与练习 146
第6章 母版页 147
6.1 母版页概述 148
6.2 创建母版页 149
6.3 创建内容页 151
6.4 嵌套母版页 152
6.5 访问母版页的控件和属性 154
6.5.1 使用Master.FindControl()方法访问母版页上的控件 155
6.5.2 引用@MasterType指令访问母版页上的属性 156
6.6 实践与练习 158
第7章 主题 159
7.1 主题概述 160
7.1.1 组成元素 160
7.1.2 文件存储和组织方式 161
7.2 创建主题 162
7.2.1 创建外观文件 162
7.2.2 为主题添加CSS样式 163
7.3 应用主题 166
7.3.1 指定和禁用主题 166
7.3.2 动态加载主题 167
7.4 实践与练习 170
第8章 数据绑定 171
8.1 数据绑定概述 172
8.2 简单属性绑定 172
8.3 表达式绑定 174
8.4 集合绑定 175
8.5 方法调用结果绑定 176
8.6 实践与练习 178
第9章 使用ADO.NET操作数据库 179
9.1 ADO.NET简介 180
9.2 使用Connection对象连接数据库 181
9.2.1 使用SqlConnection对象连接SQL Server数据库 181
9.2.2 使用OleDbConnection对象连接OLE DB数据源 182
9.2.3 使用OdbcConnection对象连接ODBC数据源 183
9.2.4 使用OracleConnection对象连接Oracle数据库 184
9.3 使用Command对象操作数据 185
9.3.1 使用Command对象查询数据 186
9.3.2 使用Command对象添加数据 187
9.3.3 使用Command对象修改数据 189
9.3.4 使用Command对象删除数据 191
9.3.5 使用Command对象调用存储过程 192
9.3.6 使用Command对象实现数据库的事务处理 194
9.4 结合使用DataSet对象和DataAdapter对象 196
9.4.1 DataSet对象和DataAdapter对象的概述 196
9.4.2 使用DataAdapter对象填充DataSet对象 197
9.4.3 对DataSet中的数据进行操作 197
9.4.4 使用DataSet中的数据更新数据库 199
9.5 使用DataReader对象读取数据 200
9.5.1 使用DataReader对象读取数据 201
9.5.2 DataReader对象与DataSet对象的区别 203
9.6 实践与练习 205
第10章 数据控件 207
10.1 GridView控件 208
10.1.1 GridView控件概述 208
10.1.2 GridView控件常用的属性、方法和事件 208
10.1.3 使用GridView控件绑定数据源 211
10.1.4 设置GridView控件的外观 213
10.1.5 制定GridView控件的列 216
10.1.6 查看GridView控件中数据的详细信息 218
10.1.7 使用GridView控件分页显示数据 220
10.1.8 在GridView控件中排序数据 221
10.1.9 在GridView控件中实现全选和全不选功能 222
10.1.10 在GridView控件中对数据进行编辑操作 223
10.2 DataList控件 227
10.2.1 DataList控件概述 227
10.2.2 使用DataList控件绑定数据源 227
10.2.3 分页显示DataList控件中的数据 229
10.2.4 查看DataList控件中数据的详细信息 232
10.2.5 在DataList控件中对数据进行编辑操作 234
10.3 ListView控件与DataPager控件 237
10.3.1 ListView控件与DataPager控件概述 237
10.3.2 使用ListView控件与DataPager控件分页显示数据 238
10.4 实践与练习 240
第11章 站点导航控件 241
11.1 站点地图概述 242
11.2 TreeView控件 243
11.2.1 TreeView控件概述 243
11.2.2 TreeView控件的常用属性和事件 244
11.2.3 TreeView控件的基本应用 246
11.2.4 TreeView控件绑定数据库 247
11.2.5 TreeView控件绑定XML文件 249
11.2.6 使用TreeView控件实现站点导航 250
11.3 Menu控件 251
11.3.1 Menu控件概述 251
11.3.2 Menu控件的常用属性和事件 252
11.3.3 Menu控件的基本应用 253
11.3.4 Menu控件绑定XML文件 254
11.3.5 使用Menu控件实现站点导航 255
11.4 SiteMapPath控件 256
11.4.1 SiteMapPath控件概述 256
11.4.2 SiteMapPath控件的常用属性和事件 256
11.4.3 使用SiteMapPath控件实现站点导航 258
11.5 实践与练习 258
第12章 Web用户控件 259
12.1 Web用户控件概述 260
12.1.1 用户控件与普通的Web页比较 260
12.1.2 用户控件的优点 260
12.2 创建及使用Web用户控件 261
12.2.1 创建Web用户控件 261
12.2.2 将Web用户控件添加至网页 262
12.2.3 使用Web用户控件制作博客导航条 263
12.3 设置用户控件 264
12.3.1 访问用户控件的属性 265
12.3.2 访问用户控件中的服务器控件 265
12.3.3 将Web网页转化为用户控件 267
12.4 实践与练习 267
第3篇 高级应用 271
第13章 ASP.NET缓存技术 271
13.1 ASP.NET缓存概述 272
13.2 页面输出缓存 272
13.2.1 页面输出缓存概述 272
13.2.2 设置页面缓存的过期时间为当前时间加上60秒 273
13.3 页面部分缓存 275
13.3.1 页面部分缓存概述 275
13.3.2 使用@OutputCache指令设置用户控件缓存功能 276
13.3.3 使用PartialCachingAttribute类设置用户控件缓存功能 276
13.3.4 使用ControlCachePolicy类 278
13.4 页面数据缓存 280
13.4.1 页面数据缓存概述 280
13.4.2 页面数据缓存的应用 283
13.5 实践与练习 285
第14章 调试与错误处理 287
14.1 错误类型 288
14.1.1 语法错误 288
14.1.2 语义错误 289
14.1.3 逻辑错误 289
14.2 程序调试 289
14.2.1 断点 290
14.2.2 开始执行 291
14.2.3 中断执行 293
14.2.4 停止执行 293
14.2.5 单步执行 294
14.2.6 运行到指定位置 294
14.3 错误处理 294
14.3.1 服务器故障排除 294
14.3.2 ASP.NET中的异常处理 296
第15章 GDI+图形图像 299
15.1 GDI+绘图基础 300
15.1.1 GDI+概述 300
15.1.2 创建Graphics对象 300
15.1.3 创建Pen对象 301
15.1.4 创建Brush对象 302
15.2 基本图形绘制 308
15.2.1 GDI+中的直线和矩形 308
15.2.2 GDI+中的椭圆、弧和扇形 310
15.2.3 GDI+中的多边形 313
15.3 GDI+绘图的应用 314
15.3.1 绘制柱形图 314
15.3.2 绘制折线图 317
15.3.3 绘制饼形图 321
第16章 水晶报表 325
16.1 水晶报表简介 326
16.2 .NET平台下的CryStal报表 326
16.2.1 CryStal Reports.Net简介 326
16.2.2 Crystal报表设计器的环境介绍 326
16.2.3 Crystal报表区域介绍 327
16.3 Crystal报表数据源和数据访问模式 329
16.3.1 Visual Studio 2008中Crystal Reports数据源列举 329
16.3.2 报表的数据访问模式 329
16.4 Crystal报表数据的相关操作 341
16.4.1 水晶报表中数据的分组与排序 341
16.4.2 水晶报表中数据的筛选 343
16.4.3 图表的使用 351
16.4.4 子报表的应用 353
16.5 实践与练习 357
第17章 E-mail邮件发送 359
17.1 SMTP服务器发送电子邮件 360
17.1.1 安装与配置SMTP服务 360
17.1.2 System.Net.Mail命名空间介绍 362
17.1.3 使用MailMessage类创建电子邮件 363
17.1.4 使用Attachment类添加附件 363
17.1.5 使用SmtpClient发送电子邮件 364
17.1.6 在ASP.NET程序中发送电子邮件 364
17.2 Jmail组件发送电子邮件 366
17.2.1 Jmail组件概述 366
17.2.2 使用Jmail组件实现给单用户发送电子邮件 368
17.2.3 使用Jmail组件实现邮件的群发 370
第18章 Web Services 373
18.1 Web Services基础 374
18.2 创建Web服务 374
18.2.1 Web服务文件 375
18.2.2 Web服务代码隐藏文件 375
18.2.3 创建一个简单的Web服务 377
18.3 Web服务的典型应用 380
18.3.1 使用Web服务 380
18.3.2 利用Web Service发送手机短信 382
18.4 实践与练习 383
第19章 ASP.NET Ajax技术 385
19.1 ASP.NET Ajax简介 386
19.1.1 ASP.NET Ajax概述 386
19.1.2 Ajax开发模式 386
19.1.3 ASP.NET Ajax优点 387
19.1.4 ASP.NET Ajax架构 387
19.2 ASP.NET Ajax服务器控件 388
19.2.1 ScriptManager脚本管理控件 388
19.2.2 UpdatePanel局部更新控件 394
19.2.3 Timer定时器控件 397
19.3 Ajax实现无刷新聊天室 398
19.4 引入ASP.NET Ajax Control Toolkit中的控件 403
19.5 ASP.NET Ajax Control Toolkit中的扩展控件 405
19.5.1 TextBoxWatermark:添加水印提示 405
19.5.2 PasswordStrength:智能密码强度提示 407
19.5.3 SlideShow:播放照片 409
19.6 实践与练习 412
第20章 LINQ数据访问技术 413
20.1 LINQ技术概述 414
20.2 LINQ查询常用子句 415
20.2.1 from子句 415
20.2.2 where子句 416
20.2.3 select子句 417
20.2.4 orderby子句 418
20.3 使用LINQ操作SQL Server数据库 419
20.3.1 建立LINQ数据源 420
20.3.2 执行数据的添加、修改、删除和查询操作 421
20.3.3 灵活运用LinqDataSource控件 424
20.4 LINQ技术实际应用 427
20.4.1 LINQ防止SQL注入式攻击 427
20.4.2 使用LINQ实现数据分页 429
第21章 安全策略 435
21.1 验证 436
21.1.1 Windows验证 436
21.1.2 Forms验证 439
21.1.3 Passport验证 448
21.2 授权 449
第22章 Web程序发布、打包与安装 451
22.1 网站发布 452
22.2 网站打包与安装 455
22.2.1 打包 455
22.2.2 安装 456
第4篇 项目实战 459
第23章 注册及登录验证模块设计 459
23.1 实例说明 460
23.2 技术要点 460
23.2.1 避免SQL注入式攻击 460
23.2.2 图形码生成技术 461
23.2.3 MD5加密算法 463
23.3 开发过程 464
23.3.1 数据库设计 464
23.3.2 配置Web.config 465
23.3.3 公共类编写 465
23.3.4 模块设计说明 468
第24章 新闻发布系统 485
24.1 实例说明 486
24.2 技术要点 487
24.2.1 站内全面搜索 487
24.2.2 代码封装技术 487
24.2.3 使用DataList控件绑定数据并实现分页 488
24.2.4 向页面中添加CSS样式 489
24.2.5 使用FrameSet框架布局页面 490
24.2.6 转化GridView控件中绑定数据的格式 490
24.3 开发过程 491
24.3.1 数据库设计 491
24.3.2 配置Web.config 491
24.3.3 公共类编写 492
24.3.4 后台登录模块设计 496
24.3.5 后台新闻管理模块设计 498
24.3.6 前台主要功能模块设计 507
第25章 在线投票系统 519
25.1 实例说明 520
25.2 技术要点 520
25.2.1 防止用户重复投票 520
25.2.2 图形方式显示投票结果 521
25.3 开发过程 524
25.3.1 数据库设计 524
25.3.2 配置Web.config 525
25.3.3 公共类编写 525
25.3.4 模块设计说明 527
第26章 网站流量统计 541
26.1 实例说明 542
26.2 技术要点 542
26.2.1 如何获取并记录流量统计所需数据 542
26.2.2 使用Request对象获取客户端信息 543
26.3 开发过程 544
26.3.1 数据库设计 544
26.3.2 配置Web.config 544
26.3.3 公共类编写 545
26.3.4 模块设计说明 546
第27章 文件上传与管理 565
27.1 实例说明 566
27.2 技术要点 566
27.2.1 上传文件 567
27.2.2 文件的基本操作 567
27.2.3 文件下载 569
27.2.4 鼠标移动表格行变色功能 569
27.2.5 鼠标双击GridView控件中的数据弹出新页功能 570
27.3 开发过程 570
27.3.1 数据库设计 570
27.3.2 配置Web.config 571
27.3.3 公共类编写 571
27.3.4 模块设计说明 572
第28章 购物车 585
28.1 实例说明 586
28.2 技术要点 586
28.2.1 如何使用Web服务器的Attributes属性运行Javascript命令 586
28.2.2 如何使DataList控件中的TextBox控件允许输入数字 587
28.3 开发过程 587
28.3.1 数据库设计 587
28.3.2 配置Web.config 588
28.3.3 公共类编写 588
28.3.4 模块设计说明 590
第29章 Blog 603
29.1 实例说明 604
29.2 技术要点 605
29.2.1 关于ASP.NET中的3层结构 605
29.2.2 触发器的应用 605
29.2.3 为GridView控件中的删除列添加确认对话框 607
29.2.4 对DataList控件中的某列数据信息执行截取操作 608
29.3 开发过程 608
29.3.1 数据库设计 608
29.3.2 配置Web.config 611
29.3.3 公共类编写 611
29.3.4 前台主要功能模块设计 617
29.3.5 后台主要管理模块设计 635
第30章 BBS论坛 643
30.1 实例说明 644
30.2 技术要点 645
30.2.1 IFrame框架的使用 645
30.2.2 第3方组件FreeTextBox的使用 646
30.2.3 以缩略图形式上传图片 648
30.2.4 多层设计模式开发 648
30.3 开发过程 650
30.3.1 数据库设计 650
30.3.2 配置Web.config 652
30.3.3 公共类编写 653
30.3.4 模块设计说明 662
第31章 B2C电子商务网站 677
31.1 系统分析 678
31.1.1 需求分析 678
31.1.2 可行性分析 678
31.2 总体设计 678
31.2.1 项目规划 678
31.2.2 系统业务流程分析 679
31.2.3 系统功能结构图 680
3 1.3 系统设计 680
31.3.1 设计目标 680
31.3.2 开发及运行环境 681
31.3.3 数据库设计 681
31.4 关键技术 693
31.4.1 使用母版页构建网站的整体风格 693
31.4.2 主题的应用 696
31.4.3 使用存储过程实现站内模糊查询 698
31.4.4 使用哈希表和Session对象实现购物功能 699
31.4.5 FreeTextBox组件的配置使用 701
31.5 公共类的编写 702
31.5.1 Web.config文件配置 702
31.5.2 数据库操作类的编写 703
31.6 网站前台主要功能模块设计 718
31.6.1 网站前台功能结构图 718
31.6.2 母版页 718
31.6.3 网站前台首页 729
31.6.4 商品浏览页 733
31.6.5 商品详细信息页 739
31.6.6 购物车管理页 742
31.6.7 服务台页 748
31.6.8 在线支付功能模块 756
31.6.9 用户注册页 762
31.6.10 浏览/更新用户信息页 766
31.6.11 发表留言 769
31.6.12 浏览/管理我的留言 771
31.7 网站后台主要功能模块设计 775
31.7.1 网站后台功能结构图 775
31.7.2 后台登录模块设计 776
31.7.3 商品管理模块设计 777
31.7.4 订单管理模块设计 787