标题：ASP NET标准教程
图书简介
作者：常倬林 等编著  丛书名：ASP NET标准教程 
出版日期：2011年1月 
书号：978-7-122-09896-2 
开本：16 
装帧：平 
版次：1版1次 
页数：351页
内容简介
ASP.N E T是目前最流行的Web应用程序（B/S）开发技术。本书共包括五部分内容，深入浅出地介绍了ASP.N E T常用的各项技术。第一部分介绍了ASP.N E T开发工具Visual Studio 2010和开发语言C#；第二部分介绍了Web应用程序中的一些常用控件及自定义控件的方法；第三部分介绍了ASP.N E T针对B/S程序设计的一些支持快速开发的技术，如导航、AJAX等；第四部分介绍了针对数据处理的一些技术，如ADO.N E T、LINQ等；最后一部分提供了两个案例，让读者了解项目的实际开发流程和技巧。 
本书特色在于理论与实际项目应用紧密结合，以项目为出发点简要地讨论了ASP.N E T各方面的知识点。对于技术细节方面则列举了大量短小精悍的实例，以帮助读者更快、更全面地掌握ASP.N E T技术。本书适合于想要学习ASP.N E T的初学者、在校学生自学使用，具有一定ASP.N E T基础的应用开发人员也可以通过本书全面地了解当前的AS P.N E T技术。另外，本书还可用作相关培训学校的培训教材。
前 言
随着网络的普及，网络技术的发展也日新月异。网站开发从仅仅注重功能性开发迈向了新的方向，网站的定制、网站的个性化成为网络开发人员关注的元素。ASP.N E T 4.0技术的推出，更是使网站的个性化开发变得轻松自如，同时还提高了网站的运行速度和数据读取效率。 
为了帮助更多的软件开发人员学习网络应用技术，编者精心编写了本书。本书在内容的编排和目录组织上都十分讲究，以力争让读者能够快速地掌握软件的开发技巧及网络应用技术。从目录结构中可以看出，本书由浅入深地介绍了ASP.N E T开发的各方面知识，读者可以跟随本书的讲解一步一步地加深对该技术的认识。本书言简意赅，示例短小却又能体现出知识点，让读者可以很轻松地学习，并能灵活地应用到实际的软件项目中去。 
本书特点 
一本书的特色在于它究竟如何讲解每个知识点。本书针对初学者遇到困难容易退缩的现象，从开始就用很简单的语言和案例，让读者一步一步稳扎稳打，使ASP.N E T的学习变得不再困难。本书的主要特点如下。 
1. 版本最新，与时俱进 
采用最新的ASP.N E T 4.0技术，使用Visual Studio 2010开发环境，在讲解各个实例时，结合了其最新功能。 
2．数据处理全面、详尽 
数据是应用程序开发的关键，ASP.N E T提供了ADO.N E T和LINQ等多种数据处理技术。本书对这些技术都进行了全面而详尽的解析，并配以实际开发中的案例，让读者的学习更贴近应用。 
3．步骤清晰，说明详细 
本书对ASP.N E T常用技术进行了细致的分析，每个主题都提供了对精炼的示例代码的细致讲解，而对关键代码都进行了详细的注释。 
4．专业开发人员+专业开发技术+专业讲解方法 
本书理论联系实际，以专业开发人员的视角剖析ASP.N E T技术。很多示例应用都是一线开发者的实际经验总结，并以专业的讲解方法循序渐渐地带领读者掌握技能，力求加深读者对知识点的理解，避免出现学完即丢或眼高手低现象。 
5．提供代码，加速学习 
随书所附光盘中包括书中用到的所有源代码和数据库文件，读者可以更快地掌握本书所讲的实例。 
本书内容 
本书共分为5篇16章，从概念到代码、从基础到应用，依序介绍了使用ASP.N E T技术所必须掌握的几大方面，各篇章具体内容安排如下。 
第一篇（第1章～第2章）讲述了ASP.N E T的开发工具和开发语言。 
第1章简要介绍了.NET技术，及相对于其以前版本的改进。此外还详细介绍了Visual Studio 2010这个一流的IDE（Intergrated Development，集成开发环境）和其特性。第2章介绍了ASP.N E T的开发语言C#的基础语法。 
第二篇（第3章～第5章）介绍了ASP.N E T中的常用控件。 
第3章介绍了在网站中最常见的一些按钮、标签控件，这是最简单的部分，易于读者了解控件的基本含义。第4章讲解了方便程序安全而封装的一些验证控件，这是ASP.N E T的特色。第5章介绍的控件具有一定的难度，本章简要介绍了自定义控件和用户控件的使用，并列举了简单入门的例子。 
第三篇（第6章～第10章）介绍了ASP.N E T为开发大型Web应用程序提供的先进技术。 
第6章介绍了在网页切换中如何保持控件或数据的状态。第7章讲解了为同一页面形式而封装的一些主题、母版等，以方便开发具有统一界面的页面。第8章讲解了用于大型应用程序的导航，这是每个应用程序都必不可少的功能。第9～10章讲解的技术应用相对较少，但一旦使用，就能为Web应用程序带来性能优势。这些技术包括Web Service和AJAX。 
第四篇（第11章～第14章）介绍了数据处理的关键技术。 
ASP.N E T数据处理的核心是ADO. N E T技术，针对这些技术，Visual Studio 2010又提供了一些优秀的数据绑定控件。另外，还提供了LINQ数据优化查询技术。通过这些技术，可以很好地处理Web程序中的大型数据。 
第五篇（第15章～第16章）介绍了两个设计项目实例。 
这里通过两个项目的开发流程和实现开发的代码，让读者了解一个真实项目的庐山真貌。通过这两个案例，读者能掌握一个项目从前期设计→中期界面→后期代码的全部流程。 
本书读者 
 正在做毕业设计的学生。 
 有一定编程基础，但是没有项目经验的人员。 
 ASP.N E T爱好者。 
 网络开发人员。 
 网络管理与维护人员。 
 网页设计人员。 
 从JAVA转到ASP.N E T的程序员。 
 以前开发过ASP系统，想转用.NET的程序员。 
本书编者 
本书主要由常倬林编写，其他参与编写的人员有刘成、马臣云、潘娜、阮履学、陶则熙、王大强、王磊、徐琦、许少峰、颜盟盟、杨娟、杨瑞萍、于海波、俞菲、曾苗苗、赵莹、朱存等。
目 录
第1篇 ASP.N E T开发基础 
第1章 ASP.N E T的开发工具 2 
1.1 认识ASP. N E T 4.0 2 
1.1.1 ASP.N E T的发展 2 
1.1.2 ASP.N E T 4.0的特性 3 
1.2 Visual Studio 2010简体中文版安装 4 
1.2.1 Visual Studio 2010简介 5 
1.2.2 Visual Studio 2010的安装 5 
1.3 第一个ASP.N E T网站 7 
1.3.1 创建网站 7 
1.3.2 设计网站 9 
1.3.3 发布网站 10 
1.3.4 运行网站 12 
1.4 本章小结 12 
1.5 本章习题 12 
第2章 ASP.N E T的语言基础 13 
2.1 变量和常量 13 
2.1.1 变量的类型 13 
2.1.2 引用类型和值类型 14 
2.1.3 什么是变量 14 
2.1.4 什么是常量 15 
2.1.5 var关键字 16 
2.2 运算符和表达式 17 
2.2.1 运算符的分类 17 
2.2.2 运算符的优先级 19 
2.2.3 表达式 19 
2.3 代码的结构 20 
2.2.1 if...else选择语句 20 
2.2.2 switch…case多条件选择语句 20 
2.2.3 循环语句 21 
2.4 数组和集合 22 
2.4.1 定义数组 22 
2.4.2 遍历数组 23 
2.4.3 集合 23 
2.4.4 集合初始化器 24 
2.5 类和对象 25 
2.5.1 什么是类和对象 25 
2.5.2 创建类 25 
2.5.3 创建对象 26 
2.6 类的属性和方法 27 
2.6.1 类的属性 27 
2.6.2 类的方法 28 
2.6.3 方法返回值 28 
2.6.4 方法的参数 29 
2.7 类的特性 29 
2.7.1 继承 29 
2.7.2 多态 30 
2.7.3 接口 32 
2.8 查看类和类关系 33 
2.9 本章小结 34 
2.10 本章习题 34 
第2篇 ASP.N E T控件技术 
第3章 基本Web服务器控件 36 
3.1 输入和输出控件 36 
3.1.1 使用Label控件显示文本 36 
3.1.2 使用TextBox控件实现用户身份验证 37 
3.2 按钮控件 39 
3.2.1 Button普通按钮控件 39 
3.2.2 LinkButton链接按钮控件 41 
3.2.3 ImageButton图像按钮控件 43 
3.3 单选按钮和复选框 45 
3.3.1 使用RadioButton和RadioButtonList 45 
3.3.2 使用CheckBox控件和CheckBoxList 47 
3.4 使用FileUpload控件实现文件上传 49 
3.5 使用DropDownList控件创建下拉列表框 51 
3.6 列表控件 53 
3.6.1 创建静态项目列表 53 
3.6.2 响应用户选择事件 54 
3.7 用Image控件显示图像 56 
3.8 用AdRotator控件创建广告条 57 
3.9 用Calendar控件实现交互式的日历 58 
3.10 本章小结 60 
3.11 本章习题 60 
第4章 数据验证控件 61 
4.1 验证控件 61 
4.1.1 了解验证控件 61 
4.1.2 验证用户是否输入信息 62 
4.1.3 验证电子邮件格式 64 
4.2 使用CompareValidator控件进行比较 67 
4.2.1 比较一个控件与另一个控件的值 67 
4.2.2 比较一个控件的值与固定值 69 
4.2.3 执行数据类型检查 70 
4.3 其他验证控件 72 
4.3.1 限制用户的输入范围 72 
4.3.2 自定义验证 74 
4.3.3 对网页进行综合验证 77 
4.4 本章小结 80 
4.5 本章习题 80 
第5章 创建用户控件和自定义控件 81 
5.1 用户控件的使用 81 
5.1.1 认识用户控件 81 
5.1.2 实现一个站点计数器的用户控件 83 
5.1.3 模板化的ASP.N E T用户控件 84 
5.1.4 将Web窗体页转化为用户控件 86 
5.2 自定义控件的使用 87 
5.2.1 一个简单的自定义控件 87 
5.2.2 为自定义控件添加公共属性 89 
5.2.3 无需编译测试自定义控件 90 
5.2.4 将控件编译为程序集 92 
5.2.5 剖析控件的状态 93 
5.2.6 自定义控件的属性 96 
5.3 本章小结 100 
5.4 本章习题 100 
第3篇 构建ASP.N E T应用程序 
第6章 ASP.N E T状态对象 102 
6.1 状态管理概述 102 
6.1.1 什么是状态管理 102 
6.1.2 状态管理使用的对象 102 
6.2 Cookie对象 103 
6.2.1 什么是Cookie 103 
6.2.2 管理Cookie的类 104 
6.2.3 用Cookie实现数据的存储 104 
6.3 Session对象 106 
6.3.1 什么是Session 106 
6.3.2 管理Session的类 106 
6.3.3 用Session实现状态存储 107 
6.4 Application对象 108 
6.4.1 什么是Application 108 
6.4.2 管理Application的类 108 
6.4.3 用Application实现状态存储 109 
6.5 ViewState状态对象 109 
6.5.1 什么是ViewState 109 
6.5.2 用ViewState存储自定义对象 110 
6.6 本章小结 111 
6.7 本章习题 111 
第7章 母版页、主题和皮肤 112 
7.1 母版页概述 112 
7.1.1 认识母版页 112 
7.1.2 创建母版页 113 
7.2 母版页和内容页中的事件 114 
7.3 母版页的使用 115 
7.3.1 在内容页中使用母版页 115 
7.3.2 实现内容页和母版页的交互 116 
7.3.3 实现母版页的动态切换 118 
7.3.4 母版页的嵌套 118 
7.4 主题和皮肤概述 120 
7.5 创建主题 120 
7.5.1 创建主题的步骤 120 
7.5.2 一个完整的皮肤文件代码 121 
7.5.3 如何便捷地书写一个皮肤文件 122 
7.6 使用主题 122 
7.6.1 在主题中使用皮肤 122 
7.6.2 创建样式文件 124 
7.6.3 多主题的自动切换 125 
7.7 本章小结 128 
7.8 本章习题 129 
第8章 网站的导航 130 
8.1 网站导航概述 130 
8.1.1 站点导航的功能 130 
8.1.2 网站的结构和布局 131 
8.1.3 站点导航控件 131 
8.1.4 站点导航组件之间的关系 131 
8.2 站点地图 132 
8.2.1 创建站点地图 132 
8.2.2 一个完整的站点地图 133 
8.3 使用导航地图实现网站导航 134 
8.3.1 制作导航条 134 
8.3.2 实现导航路径 135 
8.3.3 制作导航菜单 137 
8.4 在母版页中添加导航 137 
8.5 遍历站点地图 139 
8.6 配置多个站点地图 140 
8.6.1 在父站点中链接子站点 140 
8.6.2 从父站点地图链接到自定义站点地图提供程序 141 
8.7 本章小结 142 
8.8 本章习题 142 
第9章 Web Service 143 
9.1 Web Service概述 143 
9.1.1 为什么需要Web Service 143 
9.1.2 什么是Web Service 143 
9.1.3 何时需要Web Service 144 
9.2 Web Service的体系结构和关键技术 145 
9.2.1 Web Service的体系结构 145 
9.2.2 Web Service体系结构中的角色 145 
9.2.3 Web Service体系结构中的操作 146 
9.3 Web Service的开发与使用 147 
9.3.1 创建并测试Web Service 147 
9.3.2 公布Web Service 151 
9.3.3 使用Web Service 152 
9.4 本章小结 155 
9.5 本章习题 155 
第10章 无刷新数据处理技术 156 
10.1 AJAX概述 156 
10.1.1 ASP.N E T中的AJAX功能 156 
10.1.2 ASP.N E T中的AJAX功能的结构 157 
10.1.3 客户端结构 157 
10.1.4 服务器结构 158 
10.2 创建AJAX应用程序 159 
10.2.1 创建AJAX的网页 159 
10.2.2 Timer控件使用概述 161 
10.2.3 使用Timer控件创建应用程序 161 
10.3 使用Microsoft AJAX Library创建自定义客户端脚本 163 
10.3.1 AJAX Library简介 163 
10.3.2 使用类型系统 164 
10.4 AJAX工具包 165 
10.4.1 下载并安装AJAX工具包 165 
10.4.2 实现文本框水印效果 166 
10.5 本章小结 168 
10.6 本章习题 169 
第4篇 数据处理技术 
第11章 ADO.N E T 对象 172 
11.1 ADO.N E T简介 172 
11.1.1 ADO.N E T的特性 172 
11.1.2 ADO.N E T 4.0中的对象 172 
11.2 用Connection对象创建数据库连接 173 
11.3 使用Command对象执行数据库命令 175 
11.3.1 查询数据 175 
11.3.2 插入数据 177 
11.3.3 更新数据 179 
11.3.4 返回单个值 181 
11.4 Command对象和DataReader对象 182 
11.4.1 DataReader对象的常用属性和方法 183 
11.4.2 使用DataReader对象读取数据 183 
11.5 DataAdapter适配器和DataSet数据集 185 
11.5.1 创建DataSet对象 185 
11.5.2 向DataSet中添加DataTable 185 
11.5.3 将控件绑定到DataSet 186 
11.5.4 通过程序创建DataTable 187 
11.5.5 缓存DataSet 188 
11.5.6 合并DataSet 189 
11.5.7 复制DataSet 192 
11.6 配置应用程序 194 
11.6.1 ASP.N E T配置概述 194 
11.6.2 在数据库操作中配置web.config文件 195 
11.7 本章小结 196 
11.8 本章习题 196 
第12章 使用数据源控件处理数据 197 
12.1 访问SQL Server 2008数据库 197 
12.1.1 使用SqlDataSource 数据源控件 197 
12.1.2 参数声明 200 
12.2 使用AccessDataSource控件 203 
12.2.1 连接到Access数据库 203 
12.2.2 更新Access数据库 205 
12.3 使用XMLDataSource控件 207 
12.3.1 显示XML数据 207 
12.3.2 转换XML数据 209 
12.4 使用SiteMapDataSource控件 210 
12.5 使用ObjectDataSource控件 211 
12.5.1 实现数据检索并返回对象实例 211 
12.5.2 使用参数执行数据更新 214 
12.6 访问DBML数据源 218 
12.6.1 在ASP.N E T中使用LINQ 218 
12.6.2 在Web应用程序中创建LINQ to SQL类 219 
12.7 本章小结 219 
12.8 本章习题 220 
第13章 使用数据绑定控件显示数据 221 
13.1 使用GridView控件 221 
13.1.1 GridView控件的数据绑定方式 221 
13.1.2 创建数据库 222 
13.1.3 新书登记 222 
13.1.4 显示图书信息 227 
13.1.5 图书信息排序 229 
13.1.6 分页浏览图书 230 
13.1.7 修改图书信息 230 
13.2 使用Repeater控件 234 
13.2.1 Repeater控件简介 234 
13.2.2 使用Repeater控件定制数据的显示样式 234 
13.3 使用DataList控件 238 
13.3.1 DataList控件简介 239 
13.3.2 使用DataList控件显示数据库中的信息 239 
13.4 使用ListView控件 242 
13.4.1 ListView控件简介 242 
13.4.2 使用ListView控件定制数据模板 244 
13.5 使用FormView控件显示数据 246 
13.5.1 将数据绑定到FormView控件 246 
13.5.2 数据的编辑、插入和删除 248 
13.6 使用ListView和DataPager实现分页数据显示 250 
13.7 本章小结 251 
13.8 本章习题 252 
第14章 LINQ开发技术 253 
14.1 定义LINQ的作用 253 
14.2 核心LINQ程序集 254 
14.3 LINQ查询表达式初览 256 
14.3.1 创建查询集合的LINQ表达式 256 
14.3.2 创建查询DataSet的查询表达式 260 
14.3.3 创建SQL Server数据库的查询表达式 261 
14.3.4 创建查询XML类型的查询表达式 262 
14.4 LINQ查询泛型集合 263 
14.4.1 定义LINQ查询 264 
14.4.2 重访匿名类型 265 
14.5 LINQ查询非泛型集合 266 
14.6 查询运算符的内部表示 267 
14.6.1 用查询运算符建立查询表达式 268 
14.6.2 使用Sequence类型和Lambda表达式来建立查询表达式 268 
14.6.3 使用Sequence类型和匿名方法来建立查询表达式 269 
14.6.4 使用Sequence类型和原始代码来建立查询表达式 270 
14.7 研究LINQ查询运算符 271 
14.8 构建LINQ查询表达式 272 
14.8.1 基本的选择语法 272 
14.8.2 获取数据子集 273 
14.8.3 逆转结果集的顺序 274 
14.8.4 对表达式进行排序 274 
14.9 使用LINQ to SQL来查询关系数据库 275 
14.9.1 LINQ to SQL概述 276 
14.9.2 使用LINQ to SQL可以执行的操作 278 
14.9.3 使用Visual Studio 2010创建DBML文件 280 
14.10 使用SqlMetail.exe生成实体类 281 
14.11 使用LINQ to XML操作XML文件 282 
14.12 本章小结 286 
14.13 本章习题 286 
第5篇 项目实战 
第15章 广告模块设计 288 
15.1 系统设计 288 
15.1.1 模块功能描述 288 
15.1.2 模块流程分析 290 
15.2 数据库设计 290 
15.2.1 数据库设计分析 291 
15.2.2 数据库表的创建 291 
15.3 界面设计 294 
15.3.1 发布广告界面 294 
15.3.2 发布广告页数据源配置 295 
15.3.3 修改广告界面 296 
15.3.4 管理广告界面 296 
15.3.5 分类管理界面 297 
15.4 代码实现 298 
15.4.1 广告添加功能 298 
15.4.2 广告修改功能 299 
15.4.3 自定义控件的实现 301 
15.5 实例演示 304 
15.6 本章小结 306 
第16章 制作一个ASP.N E T校友录系统 307 
16.1 系统设计 307 
16.1.1 需求分析 307 
16.1.2 系统功能设计 309 
16.1.3 模块功能划分 310 
16.2 数据库设计 311 
16.2.1 数据库分析和设计 311 
16.2.2 数据表的创建 312 
16.3 数据表关系图 315 
16.4 系统公用模块的创建 316 
16.4.1 使用Fckeditor 316 
16.4.2 使用SQLHelper 318 
16.4.3 配置web.config 318 
16.5 系统页面和代码实现 318 
16.5.1 用户注册页面 318 
16.5.2 用户登录页面 319 
16.5.3 校友录页面规划 320 
16.5.4 自定义控件 320 
16.5.5 校友录页面的实现 322 
16.5.6 日志发布页面 323 
16.5.7 日志修改页面 325 
16.5.8 管理员日志删除页面 326 
16.5.9 日志显示页面 327 
16.5.10 用户索引页面 327 
16.5.11 管理员用户删除页面 328 
16.6 用户体验优化 329 
16.6.1 超链接样式优化 329 
16.6.2 默认首页优化 331 
16.6.3 导航栏编写 331 
16.6.4 AJAX留言优化 333 
16.6.5 优化留言表情 334 
16.7 高级功能 338 
16.7.1 后台管理及页面 338 
16.7.2 日志管理页面及实现 339 
16.7.3 日志的修改和删除页面 340 
16.7.4 评论删除 341 
16.7.5 板报功能 341 
16.7.6 用户的修改和删除 343 
16.7.7 用户权限管理 345 
16.7.8 权限及注销 346 
16.8 实例演示 347 
16.8.1 准备数据源 347 
16.8.2 实例演示 348 
16.8.3 管理后台演示 349 
16.9 本章小结 351