标题：ASP.NET从入门到精通（第2版）
图书信息
书名：ASP.NET从入门到精通（第2版） 
出版社：清华大学出版社 
ISBN：9787302227458 
出版时间：2010-07-01 
作者：庞娅娟、房大伟、吕双 
定价：79.8元RMB  
内容简介
本书从初学者角度出发，以通俗易懂的语言，丰富多彩的实例，详细介绍了使用ASP.NET进行Web程序开发需要掌握的各方面知识。全书共分31章，包括ASP.NET开发入门，C#语言基础，ASP.NET的内置对象，ASP.NETWeb常用控件，数据验证技术，母版页，主题，数据绑定，使用ADO.NET操作数据库，数据控件，站点导航控件，Web用户控件，ASP.NET缓存技术，调试与错误处理，GDI+图形图像，水晶报表，E-mail邮件发送，Web Services，ASP.NETAjax技术，LINQ数据访问技术，安全策略，Web程序发布、打包与安装，注册及登录验证模块设计，新闻发布系统，在线投票系统，网站流量统计，文件上传与管理，购物车，Blog，BBS论坛，B2C电子商务网站等。 
书中所有知识都结合具体实例进行介绍，涉及的程序代码给出了详细的注释，可以使读者轻松领会ASP·NETWeb程序开发的精髓，从而快速提高开发技能。
图书目录
第1篇 基础知识 
第1章 ASP.NET开发入门 3 
视频讲解：1小时49分钟 
1.1 ASP.NET简介 4 
1.1.1 ASP.NET发展历程 4 
1.1.2 ASP.NET优势 4 
1.1.3 ASP.NETFramework 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小时38分钟 
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 
视频讲解：1小时14分钟 
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 
视频讲解：37分钟 
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篇 核心技术 
第5章 数据验证技术 131 
视频讲解：1小时49分钟 
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 
视频讲解：32分钟 
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 
视频讲解：33分钟 
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 
视频讲解：25分钟 
8.1 数据绑定概述 172 
8.2 简单属性绑定 172 
8.3 表达式绑定 174 
8.4 集合绑定 175 
8.5 方法调用结果绑定 176 
8.6 实践与练习 178 
第9章 使用ADO·.NET操作数据库 179 
视频讲解：47分钟 
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 
视频讲解：47分钟 
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 
视频讲解：1小时21分钟 
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 
视频讲解：35分钟 
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篇 高级应用 
第13章 ASP.NET缓存技术 271 
视频讲解：36分钟 
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 
视频讲解：34分钟 
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 
视频讲解：49分钟 
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 
视频讲解：54分钟 
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 
视频讲解：28分钟 
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 
视频讲解：32分钟 
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 
视频讲解：21分钟 
19.1 ASP.NETAjax简介 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.NETAjax服务器控件 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·NETAjax Control Toolkit中的 
扩展控件 405 
19.5.1 TextBoxWatermark：添加水印提示 405 
19.5.2 PasswordStrength：智能密码强度提示 407 
19.5.3 SlideShow：播放照片 409 
19.6 实践与练习 412 
第20章 LINQ数据访问技术 413 
视频讲解：8分钟 
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 
视频讲解：17分钟 
21.1 验证 436 
21.1.1 Windows验证 436 
21.1.2 Forms验证 439 
21.1.3 Passport验证 448 
21.2 授权 449 
第22章 Web程序发布、打包与安装 451 
视频讲解：16分钟 
22.1 网站发布 452 
22.2 网站打包与安装 455 
22.2.1 打包 455 
22.2.2 安装 456 
第4篇 项目实战 
第23章 注册及登录验证模块设计 459 
视频讲解：34分钟 
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 
视频讲解：38分钟 
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 
视频讲解：38分钟 
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 
视频讲解：37分钟 
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 
视频讲解：44分钟 
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 
视频讲解：34分钟 
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 
视频讲解：39分钟 
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 
视频讲解：39分钟 
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 
视频讲解：41分钟 
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 
31.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