第1篇 基础知识 2
第1章 ASP.NET开发入门 2
1.1 ASP.NET简介 3
1.1.1 ASP.NET的发展历程 3
1.1.2 ASP.NET的优势 3
1.1.3 .NET Framework 4
1.1.4 ASP.NET的运行原理 4
1.1.5 ASP.NET的运行机制 5
1.2 ASP.NET开发环境搭建 6
1.2.1 安装IIS 6
1.2.2 配置IIS 7
1.2.3 安装Visual Studio 2010 8
1.2.4 配置Visual Studio 2010开发环境 11
1.3 ASP.NET网页语法 13
1.3.1 ASP.NET网页扩展名 13
1.3.2 页面指令 14
1.3.3 ASPX文件内容注释 15
1.3.4 服务器端文件包含 15
1.3.5 HTML服务器控件语法 16
1.3.6 ASP.NET服务器控件语法 17
1.3.7 代码块语法 18
1.3.8 表达式语法 18
1.4 制作一个ASP.NET网站 19
1.4.1 创建ASP.NET网站 19
1.4.2 设计Web页面 20
1.4.3 添加ASP.NET文件夹 22
1.4.4 添加配置文件Web.config 23
1.4.5 运行应用程序 24
1.4.6 配置IIS虚拟目录 24
1.5 Visual Studio 2010帮助工具的使用 26
1.5.1 安装Help Library管理器 26
1.5.2 使用Help Library 28
第2章 C#语言基础 30
2.1 数据类型 31
2.1.1 值类型 31
2.1.2 引用类型 32
2.1.3 装箱和拆箱 33
2.2 常量和变量 34
2.2.1 常量 34
2.2.2 变量 34
2.3 类型转换 35
2.3.1 隐式类型转换 35
2.3.2 显式类型转换 36
2.4 运算符及表达式 37
2.4.1 算术运算符与算术表达式 37
2.4.2 关系运算符与关系表达式 38
2.4.3 赋值运算符与赋值表达式 38
2.4.4 逻辑运算符与逻辑表达式 39
2.4.5 位运算符 40
2.4.6 其他运算符 40
2.4.7 运算符的优先级 41
2.5 字符串处理 42
2.5.1 比较字符串 42
2.5.2 定位字符及子串 43
2.5.3 格式化字符串 43
2.5.4 截取字符串 44
2.5.5 分裂字符串 44
2.5.6 插入和填充字符串 45
2.5.7 删除和剪切字符串 46
2.5.8 复制字符串 46
2.5.9 替换字符串 47
2.6 流程控制 47
2.6.1 分支语句 47
2.6.2 循环语句 49
2.6.3 异常处理语句 51
2.7 数组 52
2.7.1 数组的声明 53
2.7.2 初始化数组 53
2.7.3 数组的遍历 54
第3章 ASP.NET的内置对象 55
3.1 Response对象 56
3.1.1 Response对象概述 56
3.1.2 Response对象的常用属性和方法 56
3.1.3 在页面中输出数据 57
3.1.4 页面跳转并传递参数 58
3.1.5 输出二进制图像 59
3.2 Request对象 60
3.2.1 Request对象概述 60
3.2.2 Request对象的常用属性和方法 60
3.2.3 获取页面间传送的值 61
3.2.4 获取客户端浏览器信息 62
3.3 Application对象 63
3.3.1 Application对象概述 63
3.3.2 Application对象的常用集合、属性和方法 64
3.3.3 使用Application对象存储和读取全局变量 64
3.3.4 设计一个访问计数器 65
3.3.5 制作聊天室 66
3.4 Session对象 68
3.4.1 Session对象概述 68
3.4.2 Session对象的常用集合、属性和方法 68
3.4.3 使用Session对象存储和读取数据 69
3.5 Cookie对象 70
3.5.1 Cookie对象概述 70
3.5.2 Cookie对象的常用属性和方法 70
3.5.3 使用Cookie对象保存和读取客户端信息 71
3.6 Server对象 73
3.6.1 Server对象概述 73
3.6.2 Server对象的常用属性和方法 73
3.6.3 使用Server.Execute和Server.Transfer方法重定向页面 74
3.6.4 使用Server.MapPath方法获取服务器的物理地址 75
3.6.5 使用Server.UrlEncode方法对字符串进行编码 75
3.6.6 使用Server.UrlDecode方法对字符串进行解码 75
3.7 实践与练习 76
第4章 ASP.NET Web常用控件 77
4.1 文本类型控件 78
4.1.1 Label控件 78
4.1.2 TextBox控件 80
4.2 按钮类型控件 83
4.2.1 Button控件 83
4.2.2 LinkButton控件 85
4.2.3 ImageButton控件 87
4.2.4 HyperLink控件 88
4.3 选择类型控件 90
4.3.1 ListBox控件 90
4.3.2 DropDownList控件 96
4.3.3 RadioButton控件 99
4.3.4 CheckBox控件 102
4.4 图形显示类型控件 105
4.4.1 Image控件 105
4.4.2 ImageMap控件 107
4.5 Panel容器控件 111
4.5.1 Panel控件概述 111
4.5.2 使用Panel控件显示或隐藏一组控件 112
4.6 FileUpload文件上传控件 113
4.6.1 FileUpload控件概述 113
4.6.2 使用FileUpload控件上传图片文件 113
4.7 登录控件 116
4.7.1 Login控件 116
4.7.2 CreateUserWizard控件 118
4.7.3 使用Login和CreateUserWizard控件实现用户注册与登录 119
4.8 实践与练习 123
第2篇 核心技术 126
第5章 数据验证技术 126
5.1 数据验证控件 127
5.1.1 非空数据验证控件 127
5.1.2 数据比较验证控件 128
5.1.3 数据类型验证控件 130
5.1.4 数据格式验证控件 132
5.1.5 数据范围验证控件 135
5.1.6 验证错误信息显示控件 137
5.1.7 自定义验证控件 139
5.2 禁用数据验证 140
5.3 实践与练习 141
第6章 母版页 142
6.1 母版页概述 143
6.2 创建母版页 144
6.3 创建内容页 146
6.4 嵌套母版页 147
6.5 访问母版页的控件和属性 149
6.5.1 使用Master.FindControl方法访问母版页上的控件 150
6.5.2 引用@MasterType指令访问母版页上的属性 151
6.6 实践与练习 153
第7章 主题 154
7.1 主题概述 155
7.1.1 组成元素 155
7.1.2 文件存储和组织方式 156
7.2 创建主题 157
7.2.1 创建外观文件 157
7.2.2 为主题添加CSS样式 158
7.3 应用主题 161
7.3.1 指定和禁用主题 161
7.3.2 动态加载主题 162
7.4 实践与练习 165
第8章 数据绑定 166
8.1 数据绑定概述 167
8.2 简单属性绑定 167
8.3 表达式绑定 169
8.4 集合绑定 170
8.5 方法调用结果绑定 171
8.6 实践与练习 173
第9章 使用ADO.NET操作数据库 174
9.1 ADO.NET简介 175
9.2 使用Connection对象连接数据库 176
9.2.1 使用SqlConnection对象连接SQL Server数据库 176
9.2.2 使用OleDbConnection对象连接OLE DB数据源 177
9.2.3 使用OdbcConnection对象连接ODBC数据源 178
9.2.4 使用OracleConnection对象连接Oracle数据库 179
9.3 使用Command对象操作数据 180
9.3.1 使用Command对象查询数据 181
9.3.2 使用Command对象添加数据 182
9.3.3 使用Command对象修改数据 184
9.3.4 使用Command对象删除数据 186
9.3.5 使用Command对象调用存储过程 187
9.3.6 使用Command对象实现数据库的事务处理 189
9.4 结合使用DataSet对象和DataAdapter对象 191
9.4.1 DataSet对象和DataAdapter对象概述 191
9.4.2 使用DataAdapter对象填充DataSet对象 192
9.4.3 对DataSet中的数据进行操作 192
9.4.4 使用DataSet中的数据更新数据库 194
9.5 使用DataReader对象读取数据 195
9.5.1 使用DataReader对象读取数据 196
9.5.2 DataReader对象与DataSet对象的区别 198
9.6 实践与练习 200
第10章 数据控件 201
10.1 GridView控件 202
10.1.1 GridView控件概述 202
10.1.2 GridView控件的常用属性、方法和事件 202
10.1.3 使用GridView控件绑定数据源 205
10.1.4 设置GridView控件的外观 207
10.1.5 制定GridView控件的列 210
10.1.6 查看GridView控件中数据的详细信息 212
10.1.7 使用GridView控件分页显示数据 214
10.1.8 在GridView控件中排序数据 215
10.1.9 在GridView控件中实现全选和全不选功能 216
10.1.10 在GridView控件中对数据进行编辑操作 217
10.2 DataList控件 221
10.2.1 DataList控件概述 221
10.2.2 使用DataList控件绑定数据源 221
10.2.3 分页显示DataList控件中的数据 223
10.2.4 查看DataList控件中数据的详细信息 226
10.2.5 在DataList控件中对数据进行编辑操作 228
10.3 ListView控件与DataPager控件 231
10.3.1 ListView控件与DataPager控件概述 231
10.3.2 使用ListView控件与DataPager控件分页显示数据 232
10.4 实践与练习 234
第11章 站点导航控件 235
11.1 站点地图概述 236
11.2 TreeView控件 237
11.2.1 TreeView控件概述 237
11.2.2 TreeView控件的常用属性和事件 238
11.2.3 TreeView控件的基本应用 240
11.2.4 TreeView控件绑定数据库 241
11.2.5 TreeView控件绑定XML文件 243
11.2.6 使用TreeView控件实现站点导航 244
11.3 Menu控件 245
11.3.1 Menu控件概述 245
11.3.2 Menu控件的常用属性和事件 246
11.3.3 Menu控件的基本应用 247
11.3.4 Menu控件绑定XML文件 248
11.3.5 使用Menu控件实现站点导航 249
11.4 SiteMapPath控件 250
11.4.1 SiteMapPath控件概述 250
11.4.2 SiteMapPath控件的常用属性和事件 250
11.4.3 使用SiteMapPath控件实现站点导航 252
11.5 实践与练习 252
第12章 Web用户控件 253
12.1 Web用户控件概述 254
12.1.1 用户控件与普通Web页的比较 254
12.1.2 用户控件的优点 254
12.2 创建及使用Web用户控件 255
12.2.1 创建Web用户控件 255
12.2.2 将Web用户控件添加至网页 256
12.2.3 使用Web用户控件制作博客导航条 257
12.3 设置用户控件 258
12.3.1 访问用户控件的属性 259
12.3.2 访问用户控件中的服务器控件 259
12.3.3 将Web网页转化为用户控件 261
12.4 实践与练习 261
第3篇 高级应用 264
第13章 ASP.NET缓存技术 264
13.1 ASP.NET缓存概述 265
13.2 页面输出缓存 265
13.2.1 页面输出缓存概述 265
13.2.2 设置页面缓存的过期时间为当前时间加上60秒 266
13.3 页面部分缓存 268
13.3.1 页面部分缓存概述 268
13.3.2 使用@OutputCache指令设置用户控件缓存功能 269
13.3.3 使用PartialCachingAttribute类设置用户控件缓存功能 269
13.3.4 使用ControlCachePolicy类 271
13.4 页面数据缓存 273
13.4.1 页面数据缓存概述 273
13.4.2 页面数据缓存的应用 276
13.5 实践与练习 278
第14章 调试与错误处理 279
14.1 错误类型 280
14.1.1 语法错误 280
14.1.2 语义错误 281
14.1.3 逻辑错误 281
14.2 程序调试 281
14.2.1 断点 282
14.2.2 开始执行 283
14.2.3 中断执行 285
14.2.4 停止执行 285
14.2.5 单步执行 286
14.2.6 运行到指定位置 286
14.3 错误处理 286
14.3.1 服务器故障排除 286
14.3.2 ASP.NET中的异常处理 288
第15章 GDI+图形图像 291
15.1 GDI+绘图基础 292
15.1.1 GDI+概述 292
15.1.2 创建Graphics对象 292
15.1.3 创建Pen对象 293
15.1.4 创建Brush对象 294
15.2 基本图形绘制 300
15.2.1 GDI+中的直线和矩形 300
15.2.2 GDI+中的椭圆、弧和扇形 302
15.2.3 GDI+中的多边形 305
15.3 GDI+绘图的应用 306
15.3.1 绘制柱形图 306
15.3.2 绘制折线图 309
15.3.3 绘制饼形图 313
第16章 水晶报表 316
16.1 水晶报表简介 317
16.2 .NET平台下的CryStal报表 317
16.2.1 CryStal Reports.Net简介 317
16.2.2 Crystal报表设计器的环境介绍 317
16.2.3 Crystal报表区域介绍 318
16.3 Crystal报表数据源和数据访问模式 320
16.3.1 Visual Studio 2010中Crystal报表数据源列举 320
16.3.2 报表的数据访问模式 320
16.4 Crystal报表数据的相关操作 331
16.4.1 水晶报表中数据的分组与排序 331
16.4.2 水晶报表中数据的筛选 333
16.4.3 图表的使用 341
16.4.4 子报表的应用 343
16.5 实践与练习 347
第17章 E-mail邮件发送 348
17.1 SMTP服务器发送电子邮件 349
17.1.1 安装与配置SMTP服务 349
17.1.2 System.Net.Mail命名空间介绍 351
17.1.3 使用MailMessage类创建电子邮件 352
17.1.4 使用Attachment类添加附件 352
17.1.5 使用SmtpClient发送电子邮件 353
17.1.6 在ASP.NET程序中发送电子邮件 353
17.2 Jmail组件发送电子邮件 355
17.2.1 Jmail组件概述 355
17.2.2 使用Jmail组件实现给单用户发送电子邮件 356
17.2.3 使用Jmail组件实现邮件的群发 358
第18章 Web Services 360
18.1 Web Services基础 361
18.2 创建Web服务 361
18.2.1 Web服务文件 362
18.2.2 Web服务代码隐藏文件 362
18.2.3 创建一个简单的Web服务 364
18.3 Web服务的典型应用 367
18.3.1 使用Web服务 367
18.3.2 利用Web Service获取手机号码所在地 370
18.4 实践与练习 371
第19章 ASP.NET Ajax技术 372
19.1 ASP.NET Ajax简介 373
19.1.1 ASP.NET Ajax概述 373
19.1.2 Ajax开发模式 373
19.1.3 ASP.NET Ajax优点 374
19.1.4 ASP.NET Ajax架构 374
19.2 ASP.NET Ajax服务器控件 375
19.2.1 ScriptManager脚本管理控件 375
19.2.2 UpdatePanel局部更新控件 381
19.2.3 Timer定时器控件 384
19.3 Ajax实现无刷新聊天室 385
19.4 引入ASP.NET Ajax Control Toolkit中的控件 390
19.5 ASP.NET Ajax Control Toolkit中的扩展控件 392
19.5.1 TextBoxWatermarkExtender:添加水印提示 392
19.5.2 PasswordStrength:智能密码强度提示 394
19.5.3 SlideShow:播放照片 396
19.6 实践与练习 399
第20章 LINQ数据访问技术 400
20.1 LINQ技术概述 401
20.2 LINQ查询常用子句 402
20.2.1 from子句 402
20.2.2 where子句 403
20.2.3 select子句 404
20.2.4 orderby子句 405
20.3 使用LINQ操作SQL Server数据库 406
20.3.1 建立LINQ数据源 407
20.3.2 执行数据的添加、修改、删除和查询操作 408
20.3.3 灵活运用LinqDataSource控件 411
20.4 LINQ技术实际应用 414
20.4.1 LINQ防止SQL注入式攻击 414
20.4.2 使用LINQ实现数据分页 416
第21章 安全策略 421
21.1 验证 422
21.1.1 Windows验证 422
21.1.2 Forms验证 425
21.1.3 Passport验证 434
21.2 授权 435
第22章 ASP.NET网站发布 437
22.1 使用IIS浏览ASP.NET网站 438
22.2 使用“发布网站”功能发布ASP.NET网站 439
22.3 使用“复制网站”功能发布ASP.NET网站 443
第4篇 项目实战 446
第23章 注册及登录验证模块设计 446
23.1 实例说明 447
23.2 技术要点 447
23.2.1 避免SQL注入式攻击 447
23.2.2 图形码生成技术 448
23.2.3 MD5加密算法 450
23.3 开发过程 451
23.3.1 数据库设计 451
23.3.2 配置Web.config 452
23.3.3 公共类编写 452
23.3.4 模块设计说明 455
第24章 新闻发布系统 471
24.1 实例说明 472
24.2 技术要点 473
24.2.1 站内全面搜索 473
24.2.2 代码封装技术 473
24.2.3 使用DataList控件绑定数据并实现分页 474
24.2.4 向页面中添加CSS样式 475
24.2.5 使用FrameSet框架布局页面 476
24.2.6 转化GridView控件中绑定数据的格式 476
24.3 开发过程 477
24.3.1 数据库设计 477
24.3.2 配置Web.config 477
24.3.3 公共类编写 478
24.3.4 后台登录模块设计 482
24.3.5 后台新闻管理模块设计 484
24.3.6 前台主要功能模块设计 493
第25章 在线投票系统 504
25.1 实例说明 505
25.2 技术要点 505
25.2.1 防止用户重复投票 505
25.2.2 图形方式显示投票结果 506
25.3 开发过程 509
25.3.1 数据库设计 509
25.3.2 配置Web.config 510
25.3.3 公共类编写 510
25.3.4 模块设计说明 512
第26章 网站流量统计 525
26.1 实例说明 526
26.2 技术要点 526
26.2.1 获取并记录流量统计所需数据 526
26.2.2 使用Request对象获取客户端信息 527
26.3 开发过程 528
26.3.1 数据库设计 528
26.3.2 配置Web.config 528
26.3.3 公共类编写 529
26.3.4 模块设计说明 530
第27章 文件上传与管理 549
27.1 实例说明 550
27.2 技术要点 550
27.2.1 上传文件 551
27.2.2 文件的基本操作 551
27.2.3 文件下载 553
27.2.4 鼠标移动表格行变色功能 553
27.2.5 双击GridView控件中的数据弹出新页功能 554
27.3 开发过程 554
27.3.1 数据库设计 554
27.3.2 配置Web.config 555
27.3.3 公共类编写 555
27.3.4 模块设计说明 557
第28章 购物车 569
28.1 实例说明 570
28.2 技术要点 570
28.2.1 使用Web服务器的Attributes属性运行JavaScript命令 570
28.2.2 使DataList控件中的TextBox控件允许输入数字 571
28.3 开发过程 571
28.3.1 数据库设计 571
28.3.2 配置Web.config 572
28.3.3 公共类编写 572
28.3.4 模块设计说明 574
第29章 Blog 587
29.1 实例说明 588
29.2 技术要点 589
29.2.1 关于ASP.NET中的3层结构 589
29.2.2 触发器的应用 589
29.2.3 为GridView控件中的删除列添加确认对话框 591
29.2.4 对DataList控件中的某列数据信息执行截取操作 592
29.3 开发过程 592
29.3.1 数据库设计 592
29.3.2 配置Web.config 595
29.3.3 公共类编写 595
29.3.4 前台主要功能模块设计 601
29.3.5 后台主要管理模块设计 619
第30章 BBS论坛 626
30.1 实例说明 627
30.2 技术要点 628
30.2.1 IFrame框架的使用 628
30.2.2 第三方组件FreeTextBox的使用 629
30.2.3 以缩略图形式上传图片 631
30.2.4 多层设计模式开发 631
30.3 开发过程 633
30.3.1 数据库设计 633
30.3.2 配置Web.config 635
30.3.3 公共类编写 636
30.3.4 模块设计说明 645
第31章 B2C电子商务网站 659
31.1 系统分析 660
31.1.1 需求分析 660
31.1.2 可行性分析 660
31.2 总体设计 660
31.2.1 项目规划 660
31.2.2 系统业务流程分析 661
31.2.3 系统功能结构图 662
31.3 系统设计 662
31.3.1 设计目标 662
31.3.2 开发及运行环境 663
31.3.3 数据库设计 663
31.4 关键技术 675
31.4.1 使用母版页构建网站的整体风格 675
31.4.2 主题的应用 678
31.4.3 使用存储过程实现站内模糊查询 680
31.4.4 使用哈希表和Session对象实现购物功能 681
31.4.5 FreeTextBox组件的配置使用 683
31.5 公共类的编写 684
31.5.1 Web.config文件配置 684
31.5.2 数据库操作类的编写 685
31.6 网站前台主要功能模块设计 700
31.6.1 网站前台功能结构图 700
31.6.2 母版页 700
31.6.3 网站前台首页 711
31.6.4 商品浏览页 715
31.6.5 商品详细信息页 721
31.6.6 购物车管理页 724
31.6.7 服务台页 730
31.6.8 在线支付功能模块 738
31.6.9 用户注册页 744
31.6.10 浏览/更新用户信息页 748
31.6.11 发表留言 751
31.6.12 浏览/管理我的留言 753
31.7 网站后台主要功能模块设计 757
31.7.1 网站后台功能结构图 757
31.7.2 后台登录模块设计 758
31.7.3 商品管理模块设计 759
31.7.4 订单管理模块设计 769