第1章 Microsoft.NET简介1
1.1 Microsoft.NET概述1
1.1.1 什么是Microsoft.NET1
1.1.2 Microsoft.NET与Java EE比较2
1.2 Microsoft.NET Framework介绍3
1.2.1 公共语言运行库3
1.2.2 .NET Framework各版本之间的关系5
1.2.3 Microsoft.NET Framework类库7
1.2.4 Microsoft.NET Framework与Visual Studio.NET的关系8
1.3 Visual Studio.NET IDE介绍9
1.3.1 Visual Studio.NET 2008 开发环境简介9
1.3.2 利用Visual Studio.NET 2008开发ASP.NET应用程序10
小结12
习题12
第2章 C#语法基础13
2.1 C#概述13
2.1.1 C#的产生13
2.1.2 C#与Microsoft.NET的关系14
2.1.3 C#的语法元素14
2.1.4 C#的特点15
2.2 变量和常量16
2.2.1 变量16
2.2.2 常量17
2.3 数据类型17
2.3.1 值类型18
2.3.2 引用类型22
2.3.3 类型转换24
2.4 运算符和表达式26
2.4.1 算术运算符和算术表达式26
2.4.2 赋值运算符和赋值表达式28
2.4.3 关系运算符和关系表达式28
2.4.4 条件运算符和条件表达式29
2.4.5 逻辑运算符和逻辑表达式30
2.4.6 其他运算符和表达式30
2.4.7 运算符的优先级32
2.5 流程控制语句33
2.5.1 条件语句33
2.5.2 循环语句34
2.5.3 跳转语句36
2.6 异常处理37
2.6.1 异常处理机制37
2.6.2 常见的异常类38
2.6.3 抛出异常38
小结39
习题39
第3章 C#面向对象基础40
3.1 面向对象编程概述40
3.1.1 面向对象编程方法学40
3.1.2 面向对象的程序设计步骤40
3.2 命名空间42
3.2.1 命名空间的概念42
3.2.2 命名空间的定义和引用42
3.3 类和对象43
3.3.1 类和对象的关系43
3.3.2 类的定义43
3.3.3 类的成员和访问控制44
3.4 属性和索引器45
3.4.1 属性46
3.4.2 索引器47
3.5 方法49
3.5.1 方法的声明49
3.5.2 返回类型和形式化参数50
3.5.3 方法的重载50
3.6 接口51
3.6.1 接口的声明52
3.6.2 接口的实现52
3.7 继承与多态53
3.7.1 继承53
3.7.2 多态55
3.8 委托与事件56
3.8.1 委托56
3.8.2 事件58
小结61
习题61
第4章 泛型编程62
4.1 C#泛型概述62
4.1.1 为什么需要泛型62
4.1.2 C#泛型的定义65
4.1.3 C#泛型编译机制65
4.2 C#泛型类型66
4.2.1 C#泛型类与结构66
4.2.2 C#泛型接口69
4.2.3 C#泛型委托69
4.3 C#泛型方法70
4.3.1 C#泛型方法简介70
4.3.2 C#泛型方法的声明与调用70
4.3.3 C#泛型方法的重载70
4.3.4 C#泛型方法的重写71
4.4 C#泛型约束71
4.4.1 C#泛型约束简介71
4.4.2 基类约束72
4.4.3 接口约束72
4.4.4 默认构造器约束73
4.4.5 值类型约束73
4.4.6 引用类型约束74
4.5 泛型集合类74
4.5.1 泛型集合接口74
4.5.2 列表76
4.5.3 堆栈和队列76
4.5.4 哈希表77
4.6 匿名方法与迭代器77
4.6.1 为什么需要匿名方法77
4.6.2 匿名方法的语法78
4.6.3 匿名方法的运行机制79
4.6.4 什么是迭代器81
4.6.5 迭代器的运行机制82
4.7 C# 2.0中的其他新特性82
4.7.1 分部类型82
4.7.2 空属类型84
4.7.3 静态类84
小结85
习题85
第5章 LINQ技术86
5.1 LINQ简介86
5.1.1 为什么需要LINQ86
5.1.2 什么是LINQ87
5.1.3 LINQ简单示例88
5.2 C# 3.0中新的语法特性88
5.2.1 自动属性89
5.2.2 对象与集合的初始化器90
5.2.3 隐式类型的局部变量91
5.2.4 匿名类型92
5.2.5 扩展方法93
5.2.6 Lambda表达式94
5.3 LINQ查询简介96
5.3.1 获取数据源97
5.3.2 创建查询97
5.3.3 执行查询98
5.4 LINQ标准查询操作符99
5.4.1 from操作符100
5.4.2 where操作符104
5.4.3 select操作符104
5.4.4 group操作符105
5.4.5 into操作符106
5.4.6 排序操作符106
5.4.7 let操作符107
5.4.8 join操作符107
5.5 查询语法和方法语法107
5.5.1 两种方法的比较107
5.5.2 两种方法的选择109
小结109
习题109
第6章 Web程序设计基础110
6.1 软件体系结构的演变110
6.1.1 软件体系结构110
6.1.2 C/S模式的特点110
6.1.3 B/S模式的特点111
6.2 Web工作原理111
6.2.1 什么是Web111
6.2.2 Web浏览器的工作原理112
6.2.3 服务器端技术113
6.2.4 客户端技术114
6.3 HTML基础知识115
6.3.1 HTML标记简介115
6.3.2 HTML文档示例118
6.4 JavaScript简介120
6.4.1 JavaScript在客户端的应用121
6.4.2 在HTML中使用JavaScript121
6.5 CSS简介122
6.5.1 在HTML文档中引用CSS122
6.5.2 规则和样式表122
6.5.3 对选择器和规则进行分组123
小结123
习题124
第7章 ASP.NET服务器控件125
7.1 ASP.NET服务器控件概述125
7.1.1 ASP.NET服务器控件简介125
7.1.2 ASP.NET服务器控件的特点126
7.2 文本输入控件126
7.2.1 Label控件126
7.2.2 TextBox控件126
7.2.3 ListBox控件128
7.3 选择控件129
7.3.1 RadioButton控件129
7.3.2 CheckBox控件131
7.3.3 DropDownList控件131
7.3.4 Calendar控件133
7.4 按钮控件134
7.4.1 Button控件134
7.4.2 LinkButton控件136
7.4.3 ImageButton控件137
7.5 导航控件138
7.5.1 SiteMapPath控件138
7.5.2 Menu控件139
7.5.3 TreeView控件141
7.6 验证控件142
7.6.1 RequiredFieldValidator控件142
7.6.2 CompareValidator控件143
7.6.3 RangeValidator控件145
7.6.4 RegularExpressionValidator控件145
7.6.5 CustomValidator控件146
7.6.6 ValidationSummary控件147
小结150
习题150
第8章 ASP.NET内置对象151
8.1 ASP.NET内置对象概述151
8.2 Page对象152
8.3 Request对象154
8.3.1 Form属性155
8.3.2 QueryString属性156
8.3.3 ServerVariables属性157
8.3.4 Browser属性159
8.3.5 ClientCertificate属性160
8.4 Response对象162
8.4.1 Write()方法和Redirect()方法163
8.4.2 与缓冲区有关的属性和方法164
8.5 Server对象165
8.5.1 ScriptTimeout属性166
8.5.2 Execute方法与Transfer方法166
8.5.3 MapPath方法166
8.6 Session对象167
8.7 Cookie对象171
8.8 Application对象175
小结178
习题178
第9章 数据库知识简介179
9.1 数据库知识概述179
9.1.1 数据库管理系统179
9.1.2 数据库对象180
9.1.3 什么是SQL181
9.2 操作基本表181
9.2.1 创建基本表181
9.2.2 插入数据182
9.2.3 修改数据183
9.2.4 查询数据183
9.2.5 删除数据184
9.3 操作视图184
9.3.1 创建视图184
9.3.2 删除视图185
9.4 索引185
9.4.1 创建索引186
9.4.2 删除索引186
9.5 存储过程186
9.5.1 什么是存储过程186
9.5.2 创建存储过程187
小结188
习题188
第10章 使用ADO.NET访问数据库189
10.1 ADO.NET简介189
10.1.1 ADO.NET概述189
10.1.2 Connection类191
10.1.3 Command类192
10.1.4 DataReader类193
10.1.5 DataAdapter类194
10.1.6 DataSet类194
10.2 使用ADO.NET对数据库进行操作195
10.2.1 利用insert语句插入记录197
10.2.2 利用select语句查询记录199
10.2.3 利用update语句更新记录202
10.2.4 利用delete语句删除记录205
10.3 使用GridView控件操作数据库207
10.3.1 绑定查询结果功能207
10.3.2 更新和删除记录功能210
10.3.3 分页与排序功能215
小结217
习题217
第11章 使用LINQ to SQL访问数据库218
11.1 LINQ to SQL简介218
11.1.1 LINQ to SQL概述218
11.1.2 LINQ to SQL查询过程220
11.2 实体类的建立 220
11.2.1 LINQ to SQL对象模型220
11.2.2 实体类建立的方法224
11.2.3 跟踪和提交实体变更230
11.2.4 并发变更和并发冲突230
11.3 使用DataContext操作数据库231
11.3.1 DataContext231
11.3.2 强类型的DataContext232
11.3.3 操作数据库单一表格235
11.3.4 操作数据库一对多表格238
11.3.5 使用事务244
11.4 LINQ to SQL的查询方式245
11.4.1 查询的延迟执行与立即执行245
11.4.2 远程查询执行与本地查询执行245
11.4.3 已编译查询246
小结247
习题247
第12章 ASP.NET应用程序配置248
12.1 XML概述248
12.1.1 什么是XML248
12.1.2 XML的语法结构249
12.2 格式良好的XML和有效的XML251
12.2.1 格式良好的XML251
12.2.2 有效的XML251
12.3 XML与DataSet对象253
12.3.1 读取XML文档253
12.3.2 写入XML文档253
12.4 Web.config文件的配置255
12.4.1 使用Web.config文件放置常量256
12.4.2 使用Web.config文件进行安全性配置256
12.4.3 使用Web.config文件配置其他内容264
12.5 Global.asax文件的配置265
12.6 ASP.NET缓存技术266
12.6.1 页面输出缓存267
12.6.2 应用程序数据缓存267
小结269
习题269
第13章 MVC及ASP.NET分层程序设计270
13.1 设计模式简介270
13.1.1 什么是设计模式271
13.1.2 为什么需要设计模式271
13.1.3 常见的设计模式271
13.2 MVC设计模式简介272
13.2.1 MVC模式原理272
13.2.2 ASP.NET Web窗体与MVC模式273
13.2.3 MVC模式的优点和缺点273
13.3 ASP.NET中常用的MVC框架275
13.3.1 NHibernate框架275
13.3.2 Spring.NET框架275
13.3.3 ASP.NET MVC框架275
13.4 ASP.NET三层架构程序设计275
13.4.1 创建表示层276
13.4.2 创建业务逻辑层279
13.4.3 创建数据访问层294
小结297
习题298
参考文献299