ASP.NET开发实战1200例(第1卷).part2
书名:《ASP.NET开发实战1200例》(清华大学出版社.房大伟.吕双) PDF格式扫描版,全书分为23章,共935页。2011年1月出版。 全书压缩打包成3部分,这是第2部分 内容简介 《ASP.NET开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用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个实例经验技巧。每个实例都是作者精心筛选的,具有很强的实用性,其中一些是开发人员难于寻觅的。 目 录 第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 件、数据绑定控件、Web用户控件和ASP.NET导航控件全面介绍了几乎所有ASP.NET控件应用,接着以AJAX无刷新技术及页面模板设计对ASP.NET客户端进行了详细介绍,最后以高效网站开发缓存技术、文件I/O处理和图形图像与多媒体方面更高层次地讲解了ASP.NET网站开发技术。本卷共分6篇23章内容,共计600个实例经验技巧。每个实例都是作者精心筛选的,具有很强的实用性,其中一些是开发人员难于寻觅的。 目 录 第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
用户评论