标题：ASP.NET开发实战1200例(第Ⅰ卷)
图书信息
书名：ASP.NET开发实战1200例（第Ⅰ卷）
出版社：清华大学出版社
ISBN：9787302244417
出版时间：2011-1-1
作者：房大伟、吕双 
定价：99元
  
内容简介
《ASP.NET开发实战1200例》包括第I卷、第II卷共计1200个例子，本书是第I卷，共计600个例子。
本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心，介绍了应用ASP.NET进行程序开发的各种知识和技巧。主要包括ASP.NET技术基础、VS 2008环境搭建，还详细讲解了C#语言设计入门，然后从常用Web服务器控件、ASP.NET安全验证控件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用，接着以AJAX无刷新技术及页面模板设计对ASP.NET客户端进行了详细介绍，最后以高效网站开发缓存技术、文件I/O处理和图形图像与多媒体方面更高层次地讲解了ASP.NET网站开发技术。本书分6篇23章内容，共计600个实例和600个经验技巧。每个实例都是作者精心筛选的，具有很强的实用性，其中一些是开发人员难于寻觅的。
本书两卷共计1200个例子，包括了开发中各个方面最常用的实例，是目前市场上实例最全面的开发类图书；本书实例来源于多位工程师的多年积累，具有很强的实用性。
本书附带有配套DVD光盘，光盘中提供有部分实例的视频和大部分源代码，读者稍加修改即可应用。
本书适合ASP.NET的初学者，如高校学生、求职人员作为练习、速查、学习使用，也适合ASP.NET程序员参考、查阅。
图书目录
第1篇  ASP.NET快速入门篇 
第1章  搭建ASP.NET开发环境 2
1.1  ASP.NET环境配置 3
实例001  安装和配置Visual Studio 2008开发环境 3
实例002  安装和配置IIS（Web服务器） 7
实例003  安装MSDN帮助编程学习 10
实例004  在VS 2008中设定断点及调试程序 13
1.2  应用Web.Config配置网站 16
实例005  配置Access数据库连接 16
实例006  配置SQL Server数据库连接 18
实例007  配置Session变量的生命周期 19
实例008  限制上传文件的大小与时间 20
实例009  连接默认错误页 21
实例010  配置验证级别 22
第2章  C#语言基础 25
2.1  实用的数据类型 26
实例011  仓库与盒子的学问——数据类型与变量 26
实例012  数据类型之值类型的使用 27
实例013  数据类型之引用类型的使用 30
实例014  数据类型之浅复制：包含引用类型的值
类型 31
实例015  按值传递引用类型 33
实例016  按引用传递引用类型 35
实例017  程序性能的优化——装箱和拆箱的
最小化 36
2.2  流程控制和数组的应用 38
实例018  岔路口的选择——这是去医院还是
去学校的路 38
实例019  看看你现在是否处于人生的黄金阶段 40
实例020  当前所处月份是地球上的春夏秋冬
哪个季节 41
实例021  巧妇的“精打细算”——百钱买百鸡 43
实例022  后台管理登录窗口中用户名及密码的
重置 45
实例023  制作一个简单的循环计数器 47
实例024  媳妇儿喜欢的“大乐透”号码 48
实例025  我的“双色球”从小到大的排序号码 50
实例026  明日科技编程全能词典种类及其价格 51
实例027  浓浓思乡之情——李白的《静夜思》 53
实例028  会考考试中的汉字拼音简码 54
实例029  经典算法之歌德巴赫猜想的算法 55
实例030  经典问题之约瑟夫环问题
（使用数组解决） 57
实例031  数组与算法之冒泡排序 58
实例032  冒泡排序的改进——快速排序算法 60
实例033  较高级的数组与算法——二分法搜索 61
2.3  运算符的应用 63
实例034  加加减减——前缀方式增1和减1
运算符 63
实例035  乾坤大挪移——移位运算符的简单应用 64
实例036  制作一个简单的加法计算器（利用算术
运算符） 66
实例037  判断合法的用户名称和密码 67
实例038  加密用户密码等重要的数据信息 69
2.4  静态字符串String操作 70
实例039  用户注册中“密码”和“确认密码”
是否一致 70
实例040  定位字符串和子串 71
实例041  标准的图书定价及上市时间 72
实例042  由用户名“MR”和密码“明日科技”
组成新密码 73
实例043  分行显示我的兴趣与爱好 75
实例044  两种比较不错的密码修改方案 76
实例045  再谈两种比较不错的密码修改方案 77
实例046  智能复制当前输入的数据信息 79
实例047  用户密码重置功能 80
2.5  动态字符串StringBuilder操作 81
实例048  动态追加用户密码信息 81
实例049  客户管理系统中动态组成用户新密码 82
实例050  用户密码设置简单化 83
实例051  动态替换用户密码信息 84
2.6  常用日期操作 85
实例052  获得服务器当前日期和时间 85
实例053  获取当前日期是星期几 86
实例054  获取当前年的天数 87
实例055  获取当前月的天数 88
实例056  计算两日期时间间隔 90
2.7  C#语言高级应用 91
实例057  一无所有——细说可空类型 91
实例058  半壁江山——全角字符转换为半角 92
实例059  疱丁解牛——分析路径字符串函数总结 93
实例060  粉身碎骨——将字符串转为字符数组 95
实例061  万佛朝宗——将字符数组写入到字符串 96
实例062  类型推断——使用var创建隐型局部
变量 97
实例063  匿名方法杀手——Lambda表达式 98
实例064  使用值类型进行线程同步 99
2.8  C#高级算法应用 101
实例065  高级算法应用——韩信点兵的算法 101
实例066  高级算法应用——加密和解密算法 102
实例067  高级算法应用——判断身份证是否
合法 104
实例068  高级算法应用——判断IP地址是否
合法 105
实例069  高级算法应用——实现裴波纳契数列
求和 106
实例070  高级算法应用——求水仙花数的算法 107
实例071  如何将字节单位B转换成GB、MB 
和KB 108
实例072  身份证号从15位升到18位算法 109
第3章  面向对象编程思想 111
3.1  面向对象家族核心——类与类成员 112
实例073  面向对象编程核心——类、对象和
引用 112
实例074  绘制家谱——用ASP.NET创建类
文件 114
实例075  定制家族权力——设置成员访问的
权限 116
实例076  展现家族——实例化类对象 118
实例077  家族成员——类的成员字段 120
实例078  家族行为——类的成员方法 122
实例079  家族特征——类的成员属性 124
实例080  家族分工（分部类的应用） 126
实例081  构造函数和析构函数在连接数据库
类中应用 127
3.2  神秘金字塔——封装特性 128
实例082  使用传统的访问方法和修改方法进行
类的封装 128
实例083  另一种形式的封装：类属性
（非静态属性） 130
实例084  另一种形式的封装：类属性
（静态属性） 131
实例085  利用类的封装特性制作一个简单的
计算器 132
3.3  子承父业——继承特性 133
实例086  龙生龙，凤生凤（单继承应用） 133
实例087  兄弟情深：this和base（引用对象及
控制基类） 135
实例088  初识支持多重继承的接口 137
实例089  四世同堂——多重继承的应用 139
实例090  继承的另一种重要模型：包含/委托
模型 140
3.4  性相近习相远——多态特性 142
实例091  直线、图和正方形的归类（重写） 142
实例092  1=1和“1”=“1”的探讨（重载） 144
实例093  强制多态活动——抽象类和抽象方法
的应用 146
实例094  关于成员隐藏（使用New关键字
实现） 148
3.5  面向对象编程高级应用 150
实例095  拆装箱终结者——泛型 150
实例096  定制循环——实现迭代器 152
实例097  实现IDisposable接口释放占有资源 153
实例098  对象比较——对象也能排序 155
实例099  无名英雄——匿名方法 156
实例100  .Net框架自身提供的属性（Attribute） 157
实例101  把类当数组用——使用索引器 159
实例102  扑朔迷离——实现具有相同名称的
接口方法 160
第4章  ASP.NET内置对象 163
4.1  Response对象：程序响应对象 164
实例103  在浏览器中直接输出文本文件的内容 164
实例104  使用Redirect方法实现页面跳转并传递
参数 165
实例105  使用Response对象设置页面缓存 166
实例106  BinaryWrite方法输出二进制图像 167
4.2  Request对象：程序请求对象 169
实例107  获取客户端IP地址 169
实例108  获取客户端浏览器信息 170
实例109  简单的站内搜索引擎 170
4.3  Application对象：全局变量应用
对象 172
实例110  统计网站总访问量 172
实例111  统计日访问量 175
实例112  网站在线访问人数统计 177
实例113  制作一个简单的社区聊天室
（AJAX） 178
4.4  Session对象：会话信息处理对象 181
实例114  应用Session对象实现在页面之间
传值 181
实例115  Session对象判断用户登录状态 183
实例116  设置用户在线时间 184
4.5  Cookie对象：缓存对象 185
实例117  利用Cookie实现密码记忆功能 185
实例118  统计IP地址登录次数 187
实例119  利用Cookie对象防止重复投票 189
实例120  每月只能投票一次 192
4.6  Server对象：服务器信息处理对象 194
实例121  获取服务器的物理地址 194
实例122  解决传递汉字丢失或乱码的问题 194
实例123  获取服务器计算机名 195
第2篇  ASP.NET常用控件篇
第5章  常用Web服务器控件 198
5.1  使用控件显示文本 199
实例124  显示密码格式文本 199
实例125  显示长日期格式时间 200
实例126  限制文本框中输入的字符长度 201
实例127  制作一个简单的加法运算器 202
实例128  显示金额格式文本 203
5.2  按钮类型控件 205
实例129  带图像的登录按钮（ImageButton
按钮） 205
实例130  查看商品详细信息（LinkButton
控件） 206
5.3  选择类型控件 208
实例131  为ListBox控件动态添加数据 208
实例132  输出ListBox控件中选定的内容 209
实例133  实现省份与城市二级联动下拉菜单
（AJAX） 210
实例134  ListBox控件实现点菜功能 212
实例135  在线考试实现单选题功能 214
实例136  在线考试实现多选题功能 217
实例137  下拉框显示GridView控件索引页 220
实例138  设置角色登录功能 221
5.4  使用控件显示图片 223
实例139  显示验证码图片 223
实例140  动态显示用户头像 224
实例141  使用网页对话框显示图片 226
实例142  上传图片并生成高清缩略图 228
实例143  删除上传到服务器指定文件夹中的
数码照片 231
实例144  批量上传数码相片 232
5.5  Panel容器控件 236
实例145  使用Panel控件显示或隐藏一组控件 236
实例146  动态切换Panel容器中的内容 237
5.6  日历控件 239
实例147  通过日历控件查看指定日期的新闻 239
实例148  日历备忘录 241
5.7  制作广告条 242
实例149  制作旗帜广告条 242
实例150  浮动广告 244
实例151  循环播放广告图片 246
5.8  控件连接数据源 248
实例152  通过向导配置AccessDataSource 248
实例153  通过向导配置SqlDataSource 251
实例154  通过向导配置XmlDataSource 253
5.9  登录控件使用 255
实例155  用Login控件实现会员登录 255
实例156  用CreateUserWizard控件注册新用户 257
5.10  其他服务器控件应用 260
实例157  给服务器控件加不存在的属性 260
实例158  动态使用表格 260
实例159  PlaceHolder容器控件的使用 262
实例160  设置Web窗体的默认焦点控件 263
实例161  设置Web窗体的默认按钮 264
实例162  应用ViewState保存数据信息 265
实例163  默默无闻——隐藏域（HiddenField
控件） 266
实例164  页面提交时弹出确认窗口 266
实例165  配置自定义HTTP处理程序 267
实例166  HTTP模块 269
实例167  利用PostBackUrl属性实现页面传值 270
实例168  在Table控件中显示标题 271
实例169  为TextBox控件设置热键 272
第6章  ASP.NET安全验证控件 274
6.1  通信类验证 275
实例170  验证电子邮件地址 275
实例171  验证网址输入格式 276
实例172  验证电话号码 277
实例173  验证邮政编码 278
6.2  文本与数值验证 279
实例174  验证文本框中是否输入数据 279
实例175  验证两次输入的密码是否一致 281
实例176  验证身份证号码 283
实例177  验证输入文本是否为汉字 284
实例178  验证出国护照 285
实例179  验证年龄输入范围 286
实例180  验证货币类型 288
实例181  限制用户名是字母、数字和下划线 289
实例182  验证密码格式 290
实例183  验证出生日期输入格式 292
6.3  自定义验证 293
实例184  汇总所有错误信息 293
实例185  自定义验证规则弹出提示窗口 294
6.4  其他验证 296
实例186  XMLHTTP实现用户信息验证 296
实例187  ASP.NET验证控件气泡提示 298
第7章  数据绑定控件 300
7.1  数据绑定技术 301
实例188  格式化订货金额和订单日期并
进行绑定 301
实例189  使用绑定表达式高亮显示搜索关键字 302
实例190  Eval()绑定图书图片并实现单击图片
进行链接 304
实例191  Eval()方法绑定日志并用“…”代替
超长内容 305
实例192  双向绑定Bind()方法实现更新最新
电影信息 306
实例193  绑定DataTable对象显示银行月利息
及本息 307
7.2  GridView控件基本应用 308
实例194  GridView数据绑定并实现自带
分页功能 308
实例195  实现选中、编辑和删除GridView中的
商品信息 310
实例196  供求信息网审核发布信息
（审核权限设置） 312
实例197  获取GridView控件中隐藏的列值 314
实例198  在GridView控件中实现商品信息
自动编号 315
实例199  GridView绑定数据为空时的界面设计 316
实例200  GridView强制换行显示论坛帖子的
详细信息 317
实例201  查看GridView当前行绑定的商品
详细信息 319
实例202  GridView复选框绑定列设置商品
是否上架 320
实例203  使用主题来设置GridView控件的外观 322
7.3  GridView控件72般绝技 323
实例204  实现搜索GridView多个关键字高亮
显示 323
实例205  高亮显示数据行并实现双击数据行
弹出新窗口 325
实例206  学生成绩不及格设置单元格突出显示
为红色 326
实例207  根据多个字段内容设置不同数据行的
背景色 327
实例208  自定义分页并结合下拉列表实现页次
切换 328
实例209  结合分页模板PagerTemplate实现
自定义分页 330
实例210  在GridView控件中动态添加模板列 331
实例211  带上下箭头排序并实现查询数据为
空显示表头 334
实例212  GridView自动求和及合并多列多行
单元格 336
实例213  GridView合并行或列单元格的5种
通用方式 338
实例214  GridView删除数据时弹出确认对话框
（含内容提示） 340
实例215  GridView数据源为空时显示表头和
提示信息 341
实例216  创建表头固定、表体可滚动的
GridView控件 342
实例217  可拖动列、可排序、可改变宽度的
GridView控件 344
实例218  使用“…”优化GridView控件中的
超长字符显示 345
实例219  一次性编辑GridView控件的所有行
中的数据 347
实例220  嵌套DropDownList控件根据库存量
设置商品停售 348
实例221  嵌套CheckBox实现批量删除和更新
供求信息 349
实例222  结合CheckBox实现密码重置
（MD5加密） 351
实例223  结合哈希表设置在线考试后台管理
权限 353
实例224  嵌套GridView控件实现商品信息
明细表 354
实例225  将GridView控件的数据导出到Excel
并进行格式化 355
实例226  将Excel中数据导入到Aceess
并绑定GridView 356
实例227  将GridView中绑定的Access数据
生成XML 358
实例228  嵌套购物车（可增减商品数并显示
摘要信息） 359
实例229  使用LINQ实现GridView控件分页
功能 361
实例230  LINQ绑定GridView实现编辑和删除
数据 362
实例231  开发针对GridView自定义分页的用户
控件 364
7.4  灵活访问数据俊杰：DataList控件 365
实例232  分页绑定DataList数据并实现页面
跳转功能 365
实例233  开发针对DataList控件分页功能的
用户控件 368
实例234  使用DataList删除数据（支持批量
删除） 370
实例235  利用DataList控件智能化查看详细
信息 371
实例236  编辑绑定在DataList控件中的商品
信息 373
实例237  利用嵌套DataList控件显示商品明细
信息 374
实例238  查找嵌套在DataList控件中的多个
服务器控件 376
7.5  王牌现身：全新的ListView控件 377
实例239  以独立DataPager控件设置ListView
的分页 377
实例240  异步无刷新水平滚动照片
（AJAX+ListView） 379
实例241  编辑绑定在ListView中的照片
（ADO.NET版） 380
实例242  编辑绑定在ListView中的照片
（LINQ版） 382
实例243  高亮显示ListView中的数据行并实现
图片自动变换 384
第8章  组件加工厂：Web用户控件 386
8.1  导航和搜索 387
实例244  利用Web用户控件实现站内搜索 387
实例245  数据分页导航Web用户控件 388
8.2  用户注册和登录 391
实例246  创建会员注册的Web用户控件 391
实例247  创建用户登录Web用户控件 393
8.3  常用Web用户控件 394
实例248  具有文件上传功能的Web用户控件 394
实例249  创建在线投票的Web用户控件 395
实例250  利用Web用户控件实现选择日期的
功能 398
实例251  网页软键盘 399
8.4  显示信息的Web用户控件 401
实例252  显示用户信息的Web用户控件 401
实例253  显示热点新闻的Web用户控件 403
第9章  ASP.NET导航控件应用 405
9.1  使用树形导航条控件（TreeView） 406
实例254  使用TreeView控件实现OA系统导航 406
实例255  动态向TreeView控件中添加节点 408
实例256  为TreeView控件节点添加复选框 409
实例257  应用TreeView控件绑定站点地图文件 411
9.2  使用下拉菜单导航控件（Menu） 413
实例258  Menu控件实现电子商城网站导航 413
实例259  向Menu控件中动态加载数据 414
9.3  使用站点地图导航控件
（SiteMapPath） 416
实例260  使用SiteMapPath控件读取和呈现
地图信息 416
第3篇  AJAX技术及页面模板设计篇 
第10章  母版页技术 420
10.1  母版页基础 421
实例261  创建.master母版页文件 421
实例262  添加内容页 423
实例263  在母版页中添加一个用户控件 425
实例264  访问母版页中的属性 426
实例265  访问母版页中的成员控件 427
实例266  动态设置母版页标题 428
实例267  带网站计数器的母版页 429
实例268  在母版页中指定默认内容 430
实例269  以编程方式将母版页赋予内容页面 431
10.2  高级母版页 432
实例270  动态加载网站母版页 432
实例271  嵌套母版页 434
实例272  高速缓存母版页 436
实例273  ASP.NET AJAX和母版页应用 437
第11章  主题及皮肤文件 439
11.1  使用ASP.NET中的主题 440
实例274  给单个ASP.NET页面应用主题 440
实例275  定义多个Skin选项 441
实例276  在Web.config配置文件中配置主题 442
实例277  创建外观文件 444
实例278  创建TextBox控件主题 445
实例279  创建GridView控件主题 447
实例280  禁用服务器控件网页主题特性 449
11.2  创建自己的主题 450
实例281  在主题中应用图片 450
实例282  在主题中包含CSS样式 450
实例283  设计网站注册模块外观 451
实例284  设计网站登录模块外观 452
11.3  主题的高级应用 453
实例285  编程指定控件的SkinID 453
实例286  动态加载主题 453
实例287  为同一控件创建多个外观 455
实例288  动态切换网站主题 456
第12章  CSS样式与JavaScript脚本
应用 458
12.1  应用CSS样式美化网站 459
实例289  利用DIV+CSS布局网站后台主页面 459
实例290  为主题添加CSS样式使界面更加
人性化 461
实例291  利用CSS设计普通控件和数据控件
的外观 462
实例292  利用CSS样式设置链接控件样式 464
实例293  动态生成CSS设置下拉式菜单实现
页面跳转 465
实例294  利用CSS样式设置解释型菜单 467
实例295  利用主题中CSS级联样式动态更换
网站皮肤 468
12.2  应用JavaScript脚本实现Web窗口
控制 470
实例296  利用JavaScript打开新窗口显示广告
信息 470
实例297  利用JavaScript实现自动关闭的广告
窗口 472
实例298  利用JavaScript居中显示弹出的窗口 473
实例299  双击数据行打开新窗口显示详细信息 475
实例300  弹出窗口的Cookie控制 476
实例301  利用JavaScript为弹出的窗口加入
关闭按钮 477
实例302  利用JavaScript关闭弹出窗口刷新
父窗口 478
实例303  关闭IE主窗口时，不弹出询问对话框 480
实例304  利用JavaScript实现下降式窗口 481
实例305  利用JavaScript实现窗口自动滚动 482
12.3  JavaScript对时间、XML文档和
多媒体的操作 483
实例306  利用JavaScript实现在线考试倒计时 483
实例307  在考试页的状态栏中显示JavaScript
数字时钟 484
实例308  通过JavaScript操作XML文档并分页
显示 486
实例309  通过JavaScript控制循环不间断播放
图片 487
实例310  利用javaScript控制Flash播放和停止 488
12.4  应用JavaScript实现Web打印
功能 490
实例311  调用IE自身打印功能实现打印 490
实例312  用WebBrowser组件的execWB方法
进行打印 491
实例313  利用JavaScript获取焦点并且打印
框架中内容 492
实例314  智能放大或者缩小图片后进行打印 494
实例315  清空或恢复打印页面中的页眉和页脚 495
实例316  利用JavaScript+CSS实现分页打印 496
12.5  JavaScript安全机制的应用 498
实例317  用JavaScript屏蔽部分键盘按键 498
实例318  利用JavaScript屏蔽鼠标右键 499
实例319  利用JavaScript禁止复制网页内容 500
12.6  其他常用JavaScript 501
实例320  让你的网站更具人气——收藏本站 501
实例321  将你喜欢的网站设为主页 502
实例322  智能显示输入的剩余字符 503
实例323  在Web页中滚动显示公告信息 504
实例324  在刷新或提交页面后保持页面滚动条
的位置 505
实例325  Javascript和C#之间的互相调用与
访问 506
实例326  制作网站后管理页中自动伸缩的菜单 507
第13章  AJAX无刷新技术应用 509
13.1  迈向解密之路——ASP.NET AJAX
初体验 510
实例327  ASP.NET AJAX开发模式及架构分析 510
实例328  使用UpdatePanel控件异步更新当前
系统时间 511
实例329  应用Timer控件实现在线考试倒计时 513
实例330  AJAX服务器端控件体验：酷我交流
聊天室 514
实例331  安装AJAX Control Toolkit扩展控件
工具包 516
实例332  密码强度提示（PasswordStrength） 518
实例333  相册播放器——播放照片
（SlideShow） 520
13.2  实战第一步——使用UpdatePanel
控件异步更新页面 522
实例334  根据异步更新的日期查询论坛帖子
信息 522
实例335  异步的分步式保存注册用户信息功能 523
实例336  AJAX智能提示输入信息 524
实例337  在数据绑定控件的模板列中
使用UpdatePanel 526
实例338  定义UpdatePanel控件的触发器
（Triggers） 528
实例339  异步的一对多商品明细表
（2个UpdatePanel） 529
实例340  异步的产品描红搜索及排序当前搜索
结果 531
实例341  协调两个UpdatePanel控件之间的
互动 533
实例342  如何在UpdatePanel中使用其不兼容的
控件 534
实例343  嵌套化UpdatePanel更新时间
（基本应用） 536
实例344  AJAX购物车（嵌套UpdatePanel+
GridView） 538
实例345  结合母版页及UpdatePanel控件实现
上传照片 539
13.3  善用UpdateProgress控件和Timer
控件 541
实例346  UpdateProgress进度条显示与取消
异步功能 541
实例347  异步的邮件发送功能（带进度条
提示） 543
实例348  Timer控件的摆放位置及其影响 544
实例349  定时显示Web服务器性能的计算器 546
实例350  应用Timer控件实现网站气泡提示 548
13.4  AJAX Control Tookit炫酷体验 549
实例351  注册界面中水印文本框的使用
（结合LINQ） 549
实例352  龙行天下搜索引擎中智能匹配检索
功能 551
实例353  进销存系统中弹出式日历选择输入
进货日期 554
实例354  多样式验证控件验证注册信息 555
实例355  可拖动、带圆角和阴影的浮动广告
窗口 557
实例356  填写个人详细资料中拒绝非法字符的
输入 560
实例357  仿当当网对图书评价通过五角星显示
好评等级 562
实例358  实现弹出模态窗体对话框 564
第4篇  高效网站开发缓存技术应用篇
第14章  第二代网页缓存机制I：网页
输出缓存 568
14.1  网页输出缓存之完整网页缓存 569
实例359  使用@OutputCache设置完整页面输出
缓存 569
实例360  通过Response.Cache程序化API设置
页面缓存 571
实例361  指定页面缓存在服务器上
（Response.Cache） 572
实例362  使用参数缓存网页多个版本
（@OutputCache） 573
实例363  使用编程方式缓存网页的多个版本 574
14.2  网页输出缓存之部分用户控件缓存 575
实例364  使用@OutputCache指令缓存用户控件 575
实例365  调用PartialCachingAttribute类缓存
用户控件 577
实例336  同时在.aspx页面和用户控件.ascx中
设置缓存 578
14.3  网页输出缓存之部分缓存后替换 579
实例367  使用Substitution控件建立缓存后
替换功能 579
实例368  使用Substitution控件API建立缓存后
替换功能 580
实例369  配置应用AdRotator控件加载广告
图片 581
第15章  第二代网页缓存机制II：
应用程序数据缓存 583
15.1  应用程序数据缓存 584
实例370  使用“索引值/数值”将作者信息加入
缓存中 584
实例371  使用“索引值/数值”缓存DataSet 585
实例372  使用Cache.Add()方法将数据信息加入
缓存中 586
实例373  调用Cache.Insert()方法将数据项加入
缓存中 587
实例374  调用Cache.Insert()指定XML文件缓存
依赖项 589
实例375  Cache.Remove()方法将数据项从缓存
中移除 591
实例376  CacheItemRemovedCallback委派缓存
移除通知 592
15.2  缓存数据的自动移除与依赖项的
应用 594
实例377  设定缓存优先级（CacheItemPrority） 594
实例378  设置Web应用程序高速缓存大小 596
实例379  设置数据的缓存过期（Expiration） 597
实例380  设置缓存的索引值依赖项
（Key Dependency） 599
实例381  设置DataSet缓存与文件的依赖项 601
实例382  设置DataSet缓存项目的汇总依赖项 602
第5篇  文件I/O高效处理篇 
第16章  对文件及目录的操作 606
16.1  获取文件信息 607
实例383  获取文件基本信息 607
实例384  获取文件属性信息 608
实例385  获取文件的版本信息 609
实例386  获取文件的系统启动方式 611
实例387  判断文件是否正在被使用 612
16.2  创建与删除文件 613
实例388  创建和删除文件 613
实例389  移动和复制文件 615
实例390  生成随机文件名 616
实例391  建立临时文件 617
实例392  清空回收站中的所有文件 618
16.3  修改文件 619
实例393  修改文件属性 619
实例394  更改文件名称 620
实例395  如何实现文件替换 621
16.4  查找文件 622
实例396  判断文件是否存在 622
实例397  使用通配符过滤文件 623
实例398  遍历指定目录下的所有文件和目录 624
16.5  文件内容操作 625
实例399  创建一个文件用于写入UTF-8编码的
文本 625
实例400  打开现有的UTF-8编码文本文件并
进行读取 626
实例401  使用OpenRead()方法打开现有文件并
读取 627
实例402  使用OpenWrite()方法打开现有文件并
进行写入 628
实例403  如何读取文件中的第一行数据 629
实例404  如何向文件中写入数据 630
实例405  如何读取文件中的所有数据 630
实例406  如何创建二进制文件 631
实例407  如何读取二进制文件 632
实例408  读写混合类型的二进制文件 633
实例409  分割与合成文件 634
实例410  文件内容比较 637
实例411  异步写入文件 638
实例412  异步读取文件 639
16.6  获取文件夹信息 641
实例413  获取文件夹基本信息 641
实例414  获取临时文件目录 641
实例415  获取应用程序所在目录 642
实例416  获取系统当前目录 643
实例417  获取路径名中禁止使用的字符 643
实例418  遍历指定驱动器 644
实例419  读取驱动器信息 646
实例420  获取指定文件夹的上级目录 647
16.7  文件夹操作 648
实例421  查看文件夹是否存在 648
实例422  创建移动和删除文件夹 649
实例423  修改文件夹名称 651
实例424  删除文件夹中的所有文件 652
实例425  获取特殊文件夹路径 653
实例426  伪装文件夹 654
实例427  取两个目录中的同名文件 657
实例428  查找指定名称的文件 658
实例429  查找指定属性的文件 659
实例430  查找包含指定内容的文件 660
第17章  文件操作与Web应用 661
17.1  文件上传下载 662
实例431  单文件上传 662
实例432  多文件上传 663
实例433  上传图片文件并显示 665
实例434  文件下载 666
实例435  在模态窗口中下载文件 668
实例436  用ASP.NET传送大文件 670
17.2  文件压缩解压缩 671
实例437  使用GZip在线压缩文件 671
实例438  使用GZip在线解压文件 674
实例439  使用WinRAR压缩文件 676
实例440  使用WinRAR解压缩文件 678
17.3  文件加密解密 679
实例441  简单加密、解密文件 679
实例442  使用对称算法加密文件 680
实例443  使用对称算法解密文件 681
17.4  其他文件相关操作 682
实例444  使用C#操作XML文件 682
实例445  使用C#操作INI文件 684
实例446  将文本文件转换成网页文件 687
实例447  批量将Word文档转换为HTML网页 688
实例448  在浏览器中访问Word文件 690
实例449  从文件中读取ACL 691
实例450  将对象序列化保存到文件中 692
实例451  从文件中读取信息反序列化为对象 694
实例452  使用缓冲流 694
第6篇  图形图像与多媒体应用篇
第18章  GDI+图形图像绘制基础 697
18.1  GDI+绘制直线、曲线和简单图形 699
实例453  应用GDI+绘制直线 699
实例454  绘制带有阴影效果的矩形 700
实例455  绘制多边形 701
实例456  GDI+绘制圆形 702
实例457  GDI+绘制圆弧 703
实例458  GDI+绘制椭圆 705
实例459  GDI+绘制扇形 706
实例460  GDI+绘制基数样条 707
实例461  绘制贝塞尔样条 708
实例462  绘制图形路径 709
实例463  GDI+中的画笔之实心画笔 710
实例464  GDI+中的画笔之阴影画笔 711
实例465  GDI+中的画笔之纹理画笔 712
实例466  GDI+中的画笔之渐变画笔 713
实例467  GDI+中曲线的填充 715
实例468  GDI+中的区域 716
实例469  用直线消除锯齿 717
实例470  用曲线消除锯齿 718
18.2  图像、位图和图元文件 719
实例471  在GDI+中绘制图像 719
实例472  在GDI+中克隆图像 720
实例473  在GDI+中缩放图像 721
18.3  GDI+中的全局变换和局部变换 722
实例474  GDI+中的全局变换 722
实例475  在GDI+中的局部变换 723
18.4  GDI+简单应用 724
实例476  应用GDI+绘制坐标图 724
实例477  神笔马良之笔——神奇多样的画笔 725
实例478  多彩世界——绘制色彩渐变的图形 727
第19章  GDI+图像动画、特效技术 728
19.1  绘制图形 729
实例479  绘制公章 729
实例480  在图片中写入文字 730
实例481  局部图片的复制 732
实例482  波形图的绘制 733
19.2  图形转换 735
实例483  BMP转换成JPG格式 735
实例484  JPG转换成BMP格式 736
实例485  位图转化为WMF 736
实例486  ICO文件转化为位图 737
19.3  图像预览 738
实例487  浏览大图片 738
实例488  图像旋转 739
19.4  图像效果 740
实例489  纹理效果显示图像 740
实例490  浮雕效果显示图像 742
实例491  积木效果显示图像 743
实例492  雾化效果显示图像 745
实例493  锐化效果显示图像 746
实例494  黑白效果显示图像 747
实例495  底片效果显示图像 748
实例496  柔化效果显示图像 749
实例497  油画效果显示图像 750
实例498  以椭圆形显示图像 752
实例499  在图像上绘制噪点 753
19.5  图像字体 754
实例500  倒影效果的文字 754
实例501  投影效果的文字 755
实例502  印版效果的文字 757
实例503  阴影效果的文字 758
实例504  倾斜效果的文字 759
实例505  渐变效果的文字 759
实例506  辉光效果的文字 761
实例507  浮雕效果的文字 763
实例508  纹理效果的文字 764
实例509  缩放效果的文字 765
19.6  图像识别 766
实例510  查看图片的像素 766
实例511  获取指定点的RGB值 767
实例512  如何获得图像信息 768
实例513  如何设置图像的像素值 769
第20章  图文验证与图片处理技术 770
20.1  网站常用验证码大全 771
实例514  绘制纯数字的网站验证码 771
实例515  绘制数字与字母组合的验证码 772
实例516  绘制中文彩色验证码 774
实例517  仿Google绘制数字、字母和中文扭曲
验证码 776
实例518  在随机选中的图片上绘制混合验证码 777
实例519  智能语音提示验证码 779
实例520  简单的四则（加、减、乘和除）运算
验证码 781
实例521  利用Web Service服务生成验证码 783
实例522  应用LINQ提取数据库中的字段值
绘制验证码 786
20.2  实用的图片处理技术 788
实例523  绘制商品条形码（可选择输出文字） 788
实例524  在图片上添加水印文字（支持批量
水印） 790
实例525  在图片上添加水印图片 792
实例526  在线制作Logo图标 794
实例527  生成图片的高清缩略图（结合
AJAX） 796
实例528  显示真实上传进度的图片上传功能
（结合jQuery） 798
实例529  仿开心网实现图片在线裁剪（结合
jQuery） 801
20.3  图片存取技术的应用 804
实例530  将上传的相册照片存储到数据库中 804
实例531  读取数据库中上传的相册照片并显示 806
实例532  将个人头像以二进制流形式存储到
数据库中 807
实例533  读取并显示数据库中以二进制形式
存储的头像 809
实例534  解决同名文件覆盖问题实现上传图片
统一命名 810
实例535  开源节流——使用缓存区输出图像 812
20.4  图片大小与特效控制（应用AJAX
技术） 813
实例536  通过鼠标滑轮控制图片大小 813
实例537  显示随机广告图片（结合Ajax Timer
控件） 814
实例538  获取页面中图像的实际尺寸 815
实例539  通过下拉列表选择头像 816
实例540  通过网页对话框选择头像 817
实例541  用Ajax滑块扩展控件调整图片大小 819
实例542  为相册中的照片加上淡入淡出效果
（AJAX） 821
实例543  使用AJAX可调整大小控件拖曳图片
调大小 823
第21章  网站统计分析 825
21.1  柱形图表统计分析 826
实例544  商品销售（年/月/日）分析柱形图 826
实例545  柱形图表分析网站流量 828
实例546  柱形图表分析投票结果 831
实例547  柱形图表分析汽车销售业绩 833
实例548  绘制3D柱形图分析数据（商品
销售） 834
21.2  折线图表统计分析 838
实例549  利用折线图形分析股票走势 838
实例550  折线图表分析人口的出生率 841
实例551  折线图表分析商品价格走势 844
实例552  实时刷新页面统计网站流量 846
实例553  实时局部刷新模式统计网站流量 848
21.3  饼形图表统计分析 850
实例554  绘制饼形图分析投票结果 850
实例555  饼形图表分析男女比例 853
实例556  饼形图表分析人力资源情况 855
实例557  绘制3D饼型图分析数据（商品市场
占有率） 856
21.4  利用组合统计图进行决策分析 858
实例558  饼形图和柱形图分析商品销售情况 858
实例559  饼形图和折线图分析网站流量 861
实例560  柱形图和折线图分析网站流量 865
第22章  在线音频与视频播放技术 869
22.1  音频播放技术 870
实例561  音乐单曲播放 870
实例562  音乐顺序播放 871
实例563  音乐随机播放 872
实例564  音乐定时播放 874
实例565  如何播放WAV声音文件 875
实例566  音乐嵌入设计方案 876
实例567  在线收音机 878
实例568  同步加载并播放声音文件 881
实例569  异步加载并播放声音文件 882
实例570  播放系统声音 883
实例571  计算机喇叭发出的声音 884
22.2  动画与视频播放技术 885
实例572  可选择播放的广告轮换（带轮换
管理） 885
实例573  向网面中插入Flash动画 887
实例574  插入背景透明的Flash动画 888
实例575  调用Flash循环播放广告 889
实例576  AVI嵌入式视频播放 890
实例577  在线视频点播（可实现多个视频
连播） 891
实例578  带记忆的在线影片欣赏 892
实例579  FLV格式在线视频播放（实现视频
分类播放） 894
实例580  播放GIF动画 896
实例581  产品报价单 898
实例582  在网页中嵌入动态图形 900
22.3  其他音频与视频播放 902
实例583  多媒体应用中使用PNG格式 902
实例584  检查是否安装声卡 904
实例585  获取系统的图像编码器信息 905
实例586  获取系统的图像解码器信息 906
实例587  读取MP3歌曲文件标志信息 907
实例588  读取WAV歌曲文件标志信息 908
第23章  网站在线实用小工具 910
23.1  常用网站在线小工具 911
实例589  在线转换区位码 911
实例590  在线查询IP地理位置 912
实例591  在线获取本地天气预报 914
实例592  在线简体与繁体转换 916
实例593  在线万年历 918
实例594  生成产品订单号 920
实例595  手机号码归属地查询 922
实例596  在线身份证号码15位转换18位 924
23.2  其他常用小工具 925
实例597  图像在线无损压缩 925
实例598  在线文本编辑器 928
实例599  开发PDF文档 932
实例600  利用Web服务在线生成软件注册码 933