第1部分 基础整合篇 1
第1章 ASP.NET基础 1
1.1 Visual Studio 2008 1
1.1.1 新建一个ASP.NET网站 2
1.1.2 解决方案 4
1.1.3 网站与项目 6
1.1.4 编辑区 6
1.2 ASP.NET知识结构图 8
1.3 C#语言 9
1.3.1 C#速览 9
1.3.2 C#语言的数据类型及运算符 10
1.3.3 流程控制 14
第2章 页面、控件与事件 17
2.1 一个简单计算器的实现 17
2.2 Get和Post方法 21
2.2.1 Get方法 21
2.2.2 Post方法 22
2.2.3 ViewState 23
2.3 页面的属性和事件 24
2.3.1 Page_Load() 24
2.3.2 页面的常用属性 25
2.4 控件的属性和事件 28
2.4.1 控件事件的定义和执行 28
2.4.2 AutoPostBack属性 30
2.4.3 控件事件的实现过程分析 31
2.5 ASP.NET服务器控件 32
2.5.1 服务器控件的工作原理 32
2.5.2 基本服务器控件简介 32
2.6 验证控件 40
2.6.1 RequiredFieldValidator控件 40
2.6.2 ValidationSummary 43
2.6.3 其他验证控件 44
2.7 Web用户控件 46
2.7.1 使用方法 47
2.7.2 添加属性、方法和事件 48
第3章 页面和自定义控件 53
3.1 Page类 53
3.1.1 Page类的作用 54
3.1.2 Page类的生命周期中程序的执行顺序 54
3.1.3 继承Page类 58
3.2 aspx文件 62
3.2.1 单页面代码模型 62
3.2.2 代码隐藏模型 63
3.2.3 <%%>嵌入式代码块 64
3.3 用户自定义服务器控件 67
3.3.1 建立项目 67
3.3.2 控件的生命周期 68
3.3.3 映射回传事件到服务器端事件 74
3.3.4 处理回传数据 77
第2部分 应用提高篇 81
第4章 web.config文件 81
4.1 ASP.NET的配置文件 81
4.2 自定义配置节 84
4.3 常用的配置设置 89
4.4 配置节的加密 94
第5章 HTTP运行时 97
5.1 基本结构 97
5.2 HttpModule 98
5.2.1 IHttpModule接口 98
5.2.2 HttpApplication类 99
5.2.3 使用示例 99
5.2.4 Global.asax 103
5.3 HttpHandle 104
5.3.1 IHttpHandle接口 105
5.3.2 <httpModules>配置节 105
5.3.3 使用示例 106
5.3.4 IHttpHandlerFactory 107
第6章 用户信息管理 111
6.1 ASP.NET身份验证方式 111
6.1.1 Windows身份验证 111
6.1.2 Passport身份验证 113
6.1.3 Forms身份验证 113
6.1.4 <authorization>配置节 115
6.2 单点登录SSO 118
6.2.1 子域 119
6.2.2 <machineKey>配置节 120
6.3 membership成员资格 120
6.3.1 Aspnet_regsql.exe 121
6.3.2 <membership>配置节 122
6.3.3 登录控件 124
6.3.4 自定义Provider 126
6.3.5 配置文件中验证用户 128
6.4 Profile用户配置 129
6.4.1 <Profile>配置节 129
6.4.2 设置用户属性 130
6.4.3 匿名用户使用Profile 133
6.5 Role用户角色 134
6.5.1 <roleManager>配置节 135
6.5.2 Role的使用 135
第7章 界面处理 137
7.1 Web Part技术 137
7.1.1 WebPartManager 138
7.1.2 WebPartZone 139
7.1.3 CatalogZone 144
7.1.4 EditorZone 149
7.1.5 ConnectionZone 154
7.2 母版Master 159
7.2.1 使用方法 160
7.2.2 运行机制 165
7.2.3 引用母版中的对象 166
7.3 主题(Theme) 168
7.3.1 CSS 168
7.3.2 主题与皮肤 170
第8章 Ajax 173
8.1 工作原理 173
8.2 Ajax扩展控件 176
8.3 ScriptManager 177
8.3.1 基本属性 178
8.3.2 调用Web Service 179
8.3.3 ScriptManagerProxy 182
8.4 UpdatePanel 183
8.4.1 ContentTemplate 183
8.4.2 Triggers 184
8.4.3 在母版中使用UpdatePanel 188
8.4.4 UpdatePanel编程注意事项 190
8.5 UpdateProgress 192
8.5.1 使用实例 192
8.5.2 属性 193
8.6 Timer 195
第3部分 系统开发篇 197
第9章 数据库访问 197
9.1 分层开发框架 197
9.2 SQLServer2005Express 198
9.2.1 数据库设置与管理 198
9.2.2 North Wind示范库 203
9.3 连接数据库 205
9.3.1 连接字符串 206
9.3.2 执行SQL语句 207
9.3.3 连接池 208
9.3.4 事务处理 210
9.3.5 分布式事务处理 211
9.4 DBCommand类 215
9.4.1 使用参数防止注入漏洞 215
9.4.2 执行存储过程 217
9.5 DataSet与DataTable 219
9.5.1 DataColumn与DataRow 220
9.5.2 DataView 223
9.5.3 DataTable与XML交换数据 224
9.6 DataAdapter 225
第10章 GridView使用技巧 229
10.1 普通列的使用技巧 229
10.2 命令列的使用技巧 233
10.2.1 编辑、更新和取消 233
10.2.2 DataKeys 235
10.2.3 JavaScript实现选择行 236
10.2.4 “删除”按钮与JavaScript确认框 238
10.2.5 ButtonType 239
10.3 按钮列的使用技巧 240
10.3.1 CommandName 241
10.3.2 CommandArgument 241
10.3.3 命令列与按钮列的关系 242
10.4 模板列的使用技巧 243
10.4.1 FindControl 243
10.4.2 利用Eval绑定数据 245
10.4.3 利用“表中表”显示主从表数据 246
第11章 数据库访问层的实现 251
11.1 系统分析 251
11.1.1 需求分析 251
11.1.2 总体架构设计 252
11.2 基本功能的实现 253
11.2.1 封装DbCommand类 253
11.2.2 支持参数 256
11.2.3 支持事务 258
11.2.4 获取DataTable和更新数据库 260
11.3 分页获取数据 263
11.3.1 分页基本要素 263
11.3.2 Oracle的分页技术 264
11.3.3 SQLServer的分页技术 265
11.3.4 分页功能实现 267
11.4 获取序列值 270
11.4.1 获取Oracle的序列值 271
11.4.2 实现SQLServer的序列功能 271
11.5 完整代码 272
11.5.1 DBHandler类 272
11.5.2 DBHandlerSQLServer类 279
11.5.3 DBHandlerOracle类 282
11.6 DBHandler类的实例化 284
11.6.1 DBHandlerFactory类 284
11.6.2 使用示范 286
11.6.3 分页控件 288
第12章 数据表封装层 291
12.1 系统分析 291
12.1.1 需求分析 291
12.1.2 架构设计 292
12.2 基类的实现 293
12.2.1 获取记录 293
12.2.2 构造方法 295
12.2.3 实现公有方法 295
12.2.4 完整代码 296
12.3 子类的实现 299
12.3.1 子类的构造方法 299
12.3.2 “表字段”封装为“类属性” 300
12.3.3 完整代码 302
12.4 业务逻辑层 305
第13章 开发实例—《工作任务协作系统》 307
13.1 需求分析 307
13.2 总体设计 307
13.2.1 系统模块设计 307
13.2.2 数据表设计 308
13.3 App_Code目录 309
13.3.1 代码组织方式 309
13.3.2 数据表封装代码 310
13.3.3 逻辑层功能实现 319
13.4 界面规划 321
13.4.1 文件规划与Web.sitemap 321
13.4.2 界面布局与母版 323
13.4.3 页面基类 325
13.5 界面逻辑实现 326
13.5.1 Web用户控件划分 327
13.5.2 Web用户控件实现 330
13.6 小结 334
第14章 LINQ和LINQ to SQL 335
14.1 接触LINQ 335
14.2 C#3.0的新语法 336
14.3 LINQ查询表达式 340
14.3.1 from子句 340
14.3.2 group子句 342
14.3.3 orderby子句 343
14.3.4 into子句 343
14.3.5 join子句 344
14.3.6 Let子句 345
14.4 LINQ操作方法 345
14.5 LINQ to SQL 348
14.5.1 数据表封装类 349
14.5.2 DataContext类 353
14.6 查询数据库 356
14.6.1 基本查询 356
14.6.2 Join方法 358
14.6.3 SelectMany方法 359
14.6.4 GroupJoin方法 362
14.6.5 动态查询 363
14.7 操作数据记录 364
14.7.1 创建数据库 364
14.7.2 添加新记录 365
14.7.3 修改和删除记录 366
第15章 LINQ开发实例—《网络项目交易(威客)系统》 367
15.1 需求分析 367
15.2 总体设计 368
15.2.1 模块设计 368
15.2.2 数据表设计 369
15.3 代码组织 372
15.3.1 ORM层代码组织 373
15.3.2 业务逻辑层(BLL)代码组织 375
15.3.3 BLL中与用户权限相关的代码 382
15.3.4 界面层中的共用代码 383
15.4 界面规划与实现 383
15.4.1 整体规划 383
15.4.2 页面文件规划 384
15.4.3 Web.sitemap文件 385
15.4.4 母版设计 387
15.4.5 用户功能菜单 391
15.4.6 页面父类 392
15.5 业务逻辑层功能与实现 393
15.5.1 用户相关功能 394
15.5.2 项目相关功能 402
15.6 界面层实现 407
15.6.1 项目列表模块 407
15.6.2 项目信息与操作模块 414
15.6.3 项目交流帖显示模块 420
15.6.4 用户评价统计显示 423
15.6.5 上传作品缩略图显示 426
15.6.6 验证码图片的生成与使用 430
15.6.7 用户注册界面中使用Ajax 433
15.6.8 ASPX页面的实现 435
15.7 小结 436