标题：从零开始学ASP.NET
图书信息
书名：从零开始学ASPdotNET  作者：常倬林  等编著
ISBN：978-7-121-12243-9
出版日期：2010年12月
定价：39.80元（含DVD光盘1张）
内 容 简 介
ASPdotNET是目前最流行的网络开发技术，可以开发大型社区网站、B/S应用等复杂程序，也可以用来开发简单的个人网站，由于开发速度快，学习入门快等优点而备受很多培训学员和院校喜爱。
本书秉承轻松学习ASPdotNET的精神，分三篇介绍了ASPdotNET技术。第1篇是ASPdotNET必须知道的语言基础，介绍了ASPdotNET开发环境Visual Studio 2010、开发语言C#，以及C#语言的一些必要基础。第2篇是ASPdotNET必须知道的网络应用，介绍了网络相关知识，如HTML、JavaScript、表单、服务器控件、主题皮肤等。第3篇通过一个案例，详细介绍了ASPdotNET项目的开发过程和开发技巧。
全书配以大量的图例及代码说明，如果你希望掌握有关ASPdotNET网络开发技术，那么本书将是很好的选择。如果已经有这方面的编程经验，本书也是学习和开发的不错的参考。
前    言
2010年，微软推出了Visual Studio 2010开发工具，增强了ASPdotNET网络应用方面的技术，提供了ASPdotNET 4.0版本，为开发人员带来很多便捷。本书基于最新的ASPdotNET版本，为入门读者提供一本最实用的ASPdotNET开发入门教材。
本书从ASPdotNET的开发工具讲起，逐步激发读者对ASPdotNET的兴趣，先讲解ASPdotNET的开发语言，包括C#语法、面向对象开发等，然后逐步展开网络开发技术，如母版页、主题皮肤等。读者在学习ASPdotNET知识的同时，可以了解几乎所有目前Web实际应用中可能遇到的知识，包括JavaScript和HTML等。希望本书能为初学者带来一个技术上的飞跃。
本书的特点
本书深入浅出地讲解了ASPdotNET开发必须要学习的内容，从基础的开发工具，基础开发语言，一直到ASPdotNET开发所用到的其他技术。
1．全面而丰富的内容 
全书分3篇共12章，采用从易到难、循序渐进的方式进行讲解。内容几乎涉及ASPdotNET程序开发的各个方面。不仅如此，还增加了一些Web开发的必备知识：JavaScript和HTML。
2．统一而规范的例程讲解方式
书中每个例程都采用了分步骤实现方法。这样可以使读者很清晰地知道每个技术的具体实现步骤，从而提高学习的效率。
3．较高的实用价值
本书给出了大量的经典实例，这些实例都在.NET平台上调试成功。并且给出了代码的详细注释与分析，读者只需对某些代码稍加修改，便可应用于实际开发中。
4．清晰透彻的讲解
本书主要读者对象为初、中级程序开发人员，在知识点的讲解过程中尽量做到通俗易懂，简洁明了。在保证阐述严谨的同时，力求做到容易理解，不钻牛角尖，不使用过于专业的，晦涩艰深的术语，不使用有歧义的表达方式，使读者能够在阅读时迅速掌握关键知识点。
5．多媒体视频讲解
本书专门配备了多媒体教学视频讲解，读者学习起来非常直观、高效。
本书的内容安排
本书共分为3篇，共12章，主要章节设置如下所示。
第1篇（第1章～第7章）：ASPdotNET必须知道的语言基础。
讲述了ASPdotNET开发的基础知识，包括ASPdotNET需要用到什么开发工具，它使用的什么开发语言（C#还是VB），同时介绍了C#语言的一些基础语法，本篇最后还介绍了数据库开发的相关知识。
第2篇（第8章～第11章）：ASPdotNET必须知道的网络应用。
ASPdotNET最大的特点就是支持快速开发，如何快呢？就是提供一些封装好的类库和组件。有些组件就是开发网站必需的，如母版页、主题、皮肤、导航和门户的个性化设置等。这些是本篇介绍的重点，也是学习Web开发所必须了解的。
第3篇（第12章）：ASPdotNET必须经历的项目实战。
通过一个复杂的Web应用程序——留言本，详细介绍了ASPdotNET应用程序的开发过程，通过整个流程的介绍，既复习了前面学习的知识，也了解了项目实践的流程和技巧。
适合阅读本书的读者
 希望进入Web开发领域的新手。
 C#学习人员。
 ASPdotNET入门者。
 从其他ASP或者JSP转过来的Web开发人员。
 想自学制作网站的网络爱好者。
 大中专院校的学生。
本书作者
本书由常倬林主笔编写。其他参与本书编写的人员有昊燃、刘永纯、曾光、张双、朱照华、黄永湛、孟祥嵩、张贺军、李勇、关涛、王岩、李晓白、魏星、刘蕾。在此一并表示感谢！
目    录
第一篇  ASPdotNET必须知道的语言基础
第1章  认识ASPdotNET 14
1.1  什么是ASPdotNET 14
1.2  ASPdotNET的开发语言C# 14
1.2.1  Microsoft .NET框架 14
1.2.2  .NET框架的首选语言——C# 15
1.2.3  C#的开发平台Visual Studio 2010 15
1.3  第一个ASPdotNET程序 16
1.3.1  认识和配置Visual Studio 2010开发环境 16
1.3.2  第一个ASPdotNET程序 17
1.3.3  创建ASPdotNET程序 17
1.3.4  Web程序和Windows程序的区别 20
1.4  一个优秀的开发助手——MSDN 21
1.5  小结 21
1.6  习题 21
第2章  C#语法基础 22
2.1  C#的基本语法 22
2.2  变量 23
2.2.1  变量的声明 23
2.2.2  变量的赋值 23
2.2.3  简单数据类型 25
2.2.4  使用简单数据类型 25
2.2.5  使用struct创建结构类型 27
2.2.6  结构类型例程 27
2.2.7  定义结构的构造函数 30
2.2.8  类型转换 31
2.2.9  隐式转换 31
2.2.10  显式转换 33
2.2.11  根据参与类型转换的划分 35
2.3  常量 35
2.3.1  静态常量 35
2.3.2  动态常量 36
2.3.3  使用动态常量 36
2.4  表达式 38
2.4.1  数学运算符 38
2.4.2  普通数学运算符 38
2.4.3  自加和自减运算符 39
2.4.4  赋值运算符 40
2.4.5  比较运算符 42
2.4.6  运算符的优先级 43
2.4.7  命名空间 44
2.4.8  嵌套命名空间 45
2.5  流程控制 46
2.5.1  分支语句 46
2.5.2  三元运算符 46
2.5.3  if语句 47
2.5.4  使用if语句 48
2.5.5  程序流程 49
2.5.6  switch语句 49
2.5.7  使用switch语句 50
2.5.8  goto语句 51
2.5.9  循环语句 52
2.5.10  do-while语句 52
2.5.11  使用do-while语句 53
2.5.12  while语句 54
2.5.13  使用while语句 55
2.5.14  for语句 56
2.5.15  使用for语句 56
2.5.16  foreach循环语句 58
2.5.17  循环中断语句 59
2.5.18  使用break语句 59
2.5.19  使用continue语句 60
2.5.20  使用return语句 61
2.6  小结 62
2.7  习题 62
第3章  C#面向对象基础 63
3.1  类的基本概念 63
3.1.1  C#中的类定义 63
3.1.2  字段 63
3.1.3  常量 64
3.1.4  域 64
3.1.5  类的方法 65
3.1.6  类的属性 67
3.1.7  类的索引器 68
3.1.8  类的构造函数和析构函数 69
3.1.9  事件 71
3.2  Visual Studio中的类向导 71
3.3  事件和委托 73
3.3.1  委托 74
3.3.2  委托的事件处理程序 75
3.3.3  委托中的GUI事件 77
3.4  面向对象的特征 78
3.4.1  继承 78
3.4.2  多态 80
3.4.3  封装 82
3.4.4  重载 82
3.4.5  方法重载 82
3.4.6  运算符重载 83
3.5  接口 84
3.5.1  接口的声明 84
3.5.2  接口的使用 84
3.6  面向对象的其他主题 85
3.6.1  命名空间 85
3.6.2  程序集 87
3.6.3  类库 87
3.7  小结 88
3.8  习题 89
第4章  字符串和数组 90
4.1  字符串的常用功能 90
4.1.1  字符串的比较 90
4.1.2  字符串的格式化 91
4.1.3  字符串的大小写转换 91
4.1.4  字符串的拆分与截取 91
4.2  StringBuilder类 92
4.2.1  字符串对象的追加 92
4.2.2  字符串的插入、删除与替换 92
4.3  创建第一个数组 92
4.4  使用多维数组 93
4.5  使用动态数组 94
4.5.1  创建简单的动态数组 94
4.5.2  动态数组的排序 95
4.6  数组的特殊操作 96
4.6.1  作为参数传递的数组 96
4.6.2  将一维数组作为参数传递 97
4.6.3  将多维数组作为参数传递 97
4.6.4  数组的数组 98
4.7  小结 98
4.8  习题 99
第5章  集合与泛型 100
5.1  什么是集合 100
5.2  SortedList可排序数组集合 100
5.3  Queue消息队列集合 101
5.4  Stack栈集合 102
5.5  HashTable哈希表集合 103
5.6  集合中的一些重要概念 104
5.6.1  集合中的索引器 104
5.6.2  集合中的迭代器 106
5.6.3  深度复制 106
5.7  为集合使用泛型 108
5.7.1  定义泛型类 108
5.7.2  定义泛型接口 109
5.7.3  定义泛型方法 110
5.7.4  定义泛型委托 110
5.8  小结 110
5.9  习题 110
第6章  代码调试 112
6.1  Visual Studio中的调试 112
6.1.1  正常模式下的调试 112
6.1.2  中断模式下的调试 114
6.2  错误和异常处理 116
6.2.1  使用try…catch…finally语句 116
6.2.2  常见异常类型 118
6.2.3  创建和抛出自定义的异常 118
6.3  小结 119
6.4  习题 119
第7章  数据库基础知识 120
7.1  SQL Server的安装 120
7.2  Transact-SQL语言 122
7.2.1  Transact-SQL的特点 122
7.2.2  数据控制语言 123
7.2.3  数据定义语言 123
7.2.4  数据操纵语言 124
7.2.5  事务管理语言 124
7.2.6  其他附加语言 124
7.3  表 128
7.3.1  创建、修改和删除表 128
7.3.2  操纵表中的数据 129
7.3.3  主键约束 131
7.3.4  外键约束 131
7.3.5  唯一性约束 132
7.3.6  CHECK约束 132
7.3.7  缺省约束 133
7.4  存储过程 133
7.4.1  创建存储过程 133
7.4.2  执行和删除存储过程 134
7.4.3  存储过程向导 135
7.5  触发器 136
7.5.1  创建和使用触发器 136
7.5.2  SQL Server中的触发器向导 137
7.6  事务和锁 138
7.6.1  事务 138
7.6.2  锁 140
7.7  小结 140
7.8  习题 140
第二篇  ASPdotNET必须知道的网路应用
第8章  Web编程基础 141
8.1  Web工作原理 141
8.1.1  超文本传输协议（HTTP） 141
8.1.2  Web服务器工作原理 141
8.2  超文本标记语言——HTML 142
8.2.1  第一个HTML页面 142
8.2.2  代码说明 143
8.2.3  将HTML页面修改为动态页面 144
8.2.4  代码说明 145
8.3  一种脚本编写语言JavaScript 147
8.3.1  定义函数 147
8.3.2  无参函数 147
8.3.3  有参函数 148
8.3.4  常用对象的属性和方法 149
8.3.5  数组对象（Array） 150
8.3.6  使用数组对象（Array） 151
8.3.7  日期对象（Date） 153
8.3.8  使用日期对象（Date） 155
8.3.9  布尔对象（Boolean） 157
8.3.10  函数对象（Function） 158
8.3.11  字符串对象（String） 160
8.3.12  数值对象（Number） 161
8.3.13  数学对象（Math） 163
8.3.14  JavaScript中的事件及事件处理程序 165
8.3.15  在JavaScript中编写事件处理程序 166
8.3.16  程序说明 166
8.3.17  运行效果 167
8.4  ASPdotNET技术 168
8.4.1  动态服务器编程技术ASPdotNET 168
8.4.2  一个简单的ASPdotNET应用程序 168
8.4.3  程序运行效果及说明 173
8.5  读写SQL Server数据库 175
8.5.1  创建数据库和表 175
8.5.2  配置数据库连接字符串 177
8.5.3  程序运行效果及说明 181
8.6  建设优秀网站需要考虑的问题——搜索引擎优化 181
8.6.1  什么是SEO 181
8.6.2  影响搜索引擎排名的基本因素 181
8.6.3  对搜索引擎排名不利的因素 183
8.7  小结 184
8.8  习题 184
第9章  表单及ASPdotNET对象 185
9.1  表单 185
9.1.1  表单原理 185
9.1.2  创建表单 185
9.1.3  程序运行效果及说明 188
9.2  5个ASPdotNET对象 188
9.2.1  检索从浏览器发送到服务器的请求信息——Request对象 188
9.2.2  Request对象中的集合 189
9.2.3  在程序中使用Cookie 191
9.2.4  Cookie程序运行效果及说明 192
9.2.5  Request中的Browser对象 193
9.2.6  Request的其他属性和方法 194
9.2.7  将数据从服务器发回浏览器——Response对象 194
9.2.8  共享应用程序全局信息——Application对象 195
9.2.9  Application的数据存储方式 195
9.2.10  使用Application对象实现网站的访客数的统计 196
9.2.11  维护每个客户的个人信息——Session对象 200
9.2.12  用Session存储数据 200
9.2.13  Session存储演示 201
9.2.14  获取服务器信息——Server对象 203
9.2.15  认识Server对象 203
9.2.16  Server对象的演示 203
9.2.17  程序运行效果及说明 204
9.3  一个聊天室实例 205
9.3.1  聊天室实例的模块划分 205
9.3.2  聊天室实例的项目配置 206
9.3.3  聊天室的登录 208
9.3.4  聊天室的聊天主界面 212
9.3.5  发送聊天信息 213
9.3.6  程序流程及说明 214
9.3.7  显示聊天记录 216
9.3.8  聊天演示 218
9.4  小结 218
9.5  习题 219
第10章  Web程序中的服务器端控件 220
10.1  服务器控件 220
10.1.1  什么服务器控件 220
10.1.2  服务器控件与HTML控件的区别 220
10.2  数据操作控件 220
10.2.1  用于连接SQL数据库的数据源控件——SqlDataSource控件 221
10.2.2  使用SqlDataSource控件 221
10.2.3  以表的形式显示数据——GridView控件 225
10.2.4  一次显示一条表格形式的记录——DetailsView控件 227
10.3  验证控件 230
10.3.1  限制空字段控件 230
10.3.2  程序运行效果及说明 231
10.3.3  比较两个字段控件 231
10.3.4  检查指定范围控件 234
10.3.5  表达式验证控件 234
10.3.6  自定义验证控件 235
10.3.7  程序运行效果及说明 237
10.3.8  错误信息汇总控件 238
10.4  用户控件 239
10.5  小结 241
10.6  习题 242
第11章  ASPdotNET网站特色编程 243
11.1  为一组页面设计相同的风格——母版（Master Page） 243
11.1.1  创建Master Page 243
11.1.2  在Master Page中添加元素 244
11.1.3  创建Content Page 246
11.1.4  访问母版页中的控件 249
11.1.5  嵌套使用Master Page 250
11.2  主题和皮肤 253
11.2.1  什么是主题 253
11.2.2  在主题中创建皮肤文件 254
11.2.3  动态加载主题 256
11.3  自定义页面（WebParts） 259
11.3.1  设置WebParts运行环境 260
11.3.2  编写一个简单的WebParts页面 262
11.3.3  编辑WebParts控件 267
11.3.4  使用CatalogZone控件 270
11.3.5  导出与导入WebParts控件 271
11.3.6  使用静态连接实现WebParts控件之间数据传递 274
11.3.7  使用动态连接实现WebParts控件之间数据传递 277
11.4  小结 279
11.5  习题 279
第三篇  ASPdotNET必须经历的项目实战
第12章  制作一个网络留言本 280
12.1  系统设计 280
12.1.1  需求分析 280
12.1.2  系统功能设计 282
12.1.3  模块功能划分 282
12.2  数据库设计 283
12.2.1  数据库的分析和设计 283
12.2.2  数据表的创建 285
12.2.3  数据表关系图 287
12.3  系统公用模块的创建 288
12.3.1  创建CSS 288
12.3.2  使用SQLHepler 289
12.3.3  配置Web.config 290
12.4  系统界面和代码实现 290
12.4.1  留言板用户控件 290
12.4.2  管理员登录实现 292
12.4.3  用户注册登录实现 292
12.4.4  用户登录实现 293
12.4.5  留言本界面布局 294
12.4.6  留言功能实现 296
12.4.7  回复功能实现 296
12.4.8  删除功能的实现 297
12.4.9  用户索引实现 298
12.5  用户体验优化 299
12.5.1  AJAX留言实现 299
12.5.2  AJAX数据重绑定 302
12.5.3  系统导航实现 304
12.5.4  侧边栏界面优化 306
12.6  用户功能实现 307
12.6.1  用户信息界面 307
12.6.2  用户修改实现 309
12.6.3  用户信息删除实现 311
12.6.4  用户注销 312
12.7  实例演示 312
12.7.1  准备数据源 312
12.7.2  基本实例演示 313
12.7.3  用户功能演示 314
12.8  小结 317