第一篇 .NETFramework3.5简介 1
第1章 C#与.NETFramework3.5简介 1
1.1.NETFramework3.5基础 1
1.1.1什么是.NETFramework 1
1.1.2公共语言运行库 1
1.1.3.NET类库简介 2
1.1.4.NETFramework3.5的新功能 2
1.2C#编程语言简介 2
1.2.1.NET编程语言介绍 2
1.2.2C#程序设计语言 2
1.2.3HelloWorld示例程序 3
1.3小结 4
第2章 VisualStudio2008集成化开发环境 5
2.1VisualStudio2008IDE介绍 5
2.1.1解决方案资源管理器 5
2.1.2文档窗口 7
2.1.3错误列表和任务列表窗口 7
2.1.4服务器资源管理器 9
2.1.5对象浏览器 9
2.1.6代码编辑器 10
2.2VisualStudio2008的新增功能 12
2.2.1多目标支持 12
2.2.2JavaScript代码智能提示和调试功能 13
2.2.3内置的ASP.NETAJAX支持 14
2.2.4Web站点与Web项目支持 15
2.2.5Web设计器的改进 16
2.2.6CSS功能的增强支持 16
2.2.7嵌套的母版页支持 17
2.3小结 19
第3章 C#2008新增功能 20
3.1局部变量的隐式声明 20
3.1.1如何声明隐式局部变量 20
3.1.2在foreach循环中使用隐式声明 21
3.1.3隐式类型变量的限制 22
3.1.4隐式类型的局部数组 23
3.1.5隐式类型变量的作用 24
3.2自动属性 25
3.2.1理解自动属性 25
3.2.2访问自动属性 25
3.2.3自动属性的访问限制 26
3.2.4自动属性和默认值 27
3.3对象初始化器 28
3.3.1理解对象初始化器语法 28
3.3.2调用使用初始化语法的自定义构造函数 29
3.3.3内部类型的初始化 30
3.3.4理解集合初始化语法 31
3.4扩展方法 32
3.4.1定义扩展方法 32
3.4.2调用扩展方法 34
3.4.3扩展方法的使用范围 35
3.4.4使用扩展方法扩展接口类型 36
3.5匿名类型 38
3.5.1理解匿名类型 38
3.5.2匿名类型的内部呈现 39
3.5.3匿名类型的相等比较 40
3.6局部方法 42
3.6.1理解局部方法 42
3.6.2使用局部方法 44
3.7Lambda表达式 44
3.7.1理解Lambda表达式 44
3.7.2剖析Lambda表达式 47
3.7.3在Lambda中使用多语句块 48
3.7.4多参数的Lambda表达式 49
3.8LINQ简介 50
3.8.1什么是LINQ 50
3.8.2LINQ示例 51
3.9小结 55
第二篇 ASP.NET开发基础 57
第4章 ASP.NET3.5技术简介 57
4.1ASP.NET技术介绍 57
4.1.1ASP.NET3.5的特点 57
4.1.2一个简单的ASPNET应用程序 57
4.2ASP.NET程序结构 61
4.2.1ASP.NET文件类型 61
4.2.2ASP.NET目录介绍 62
4.3ASP.NET配置 63
4.3.1web.config配置文件 63
4.3.2嵌套配置设置 64
4.3.3在web.config中存储自定义设置 66
4.3.4ASP.NETWeb站点管理工具WAT 67
4.3.5编程读取和写入配置设置 68
4.3.6加密配置块 70
4.4Web窗体基础 72
4.4.1基于事件的编程模型 72
4.4.2自动回发特性(AutoPostBack) 72
4.4.3Web窗体处理流程 73
4.4.4ASP.NET中的Page类 75
4.4.5页面重定向 76
4.4.6HTML编码 77
4.5应用程序事件 78
4.5.1Global.asax全局文件 78
4.5.2基本应用程序事件 79
4.6小结 80
第5章 ASP.NET服务器控件 81
5.1HTML服务器控件 82
5.1.1HTML服务器控件简介 82
5.1.2Htm1ContainerControl和HtmlInputControl类 84
5.1.3HTML控件类 85
5.1.4编程创建HTML控件 86
5.1.5处理服务器端事件 87
5.2Web服务器控件 89
5.2.1基本Web服务器控件介绍 89
5.2.2常用控件的属性介绍 91
5.2.3列表控件介绍 93
5.2.4可选择的列表控件 96
5.2.5BulletedList列表控件 99
5.2.6表格式控件 100
5.3验证控件 102
5.3.1验证控件介绍 102
5.3.2验证控件的基类BaseValidator 103
5.3.3使用RequiredFieldValidator强制用户输入 104
5.3.4使用RangeValidator控件指定输入范围 104
5.3.5使用CompareValidator比较值 105
5.3.6RegularExpressionValidator正则表达式验证 105
5.3.7CustomValidator自定义验证 106
5.3.8使用ValidationSummary显示验证信息 107
5.3.9使用ValidationGroup属性 107
5.3.10编程使用验证控件 109
5.4Calendar日期控件 109
5.4.1日期控件简介 109
5.4.2日期控件格式化显示 110
5.4.3限制日期 111
5.4.4编程控制日期选择 113
5.5广告轮询控件AdRotator 113
5.5.1广告文件设置 113
5.5.2AdRotator类介绍 115
5.6MultiView和Wizard控件 116
5.6.1MultiView多视图控件 116
5.6.2Wizard向导控件 118
5.6.3WizardStep向导步骤属性 118
5.6.4Wizard事件 120
5.7小结 121
第6章 ASP.NET应用程序状态管理 122
6.1ASP.NET状态管理简介 122
6.2ViewState视图状态 122
6.2.1视图状态原理 123
6.2.2在视图状态中存储对象 124
6.2.3视图状态的安全 126
6.3跨页传递信息 127
6.3.1查询字符串 127
6.3.2跨页回送技术 131
6.4使用Cookie保存会话信息 133
6.4.1Cookie技术简介 133
6.4.2使用Cookie保存信息 134
6.5会话状态 135
6.5.1会话状态简介 135
6.5.2使用会话状态 136
6.5.3配置会话状态 138
6.6应用程序状态 143
6.7小结 144
第7章 异常处理和日志追踪 145
7.1ASP.NET应用程序异常处理 145
7.1.1异常处理基础 145
7.1.2Exception类 146
7.1.3捕捉异常 148
7.1.4异常的嵌套 149
7.1.5自定义异常 151
7.1.6finally语句块 152
7.2记录异常 153
7.2.1查看Windows事件日志 153
7.2.2写人事件日志 154
7.2.3自定义日志 156
7.2.4编程查看事件日志 157
7.3错误页面 159
7.3.1错误模式 160
7.3.2自定义错误页面 161
7.4页面追踪 161
7.4.1启用页面追踪 161
7.4.2页面追踪信息 162
7.4.3写入页面追踪信息 164
7.4.4应用程序页面追踪信息 166
7.5小结 167
第8章 ASP.NET中的样式、主题和母版页 169
8.1在ASP.NET中应用CSS样式 169
8.1.1创建样式 169
8.1.2应用样式 172
8.2主题 173
8.2.1创建主题 173
8.2.2创建命名皮肤 175
8.2.3处理主题冲突 176
8.2.4为整个网站应用主题 177
8.2.5添加CSS样式 177
8.2.6动态应用主题 177
8.3母版页 178
8.3.1创建母版页 179
8.3.2默认内容 182
8.3.3母版页和相对路径 182
8.3.4在web.config中配置母版页 184
8.3.5修改母版页 184
8.3.6动态加载母版页 186
8.3.7母版页的嵌套 187
8.4小结 190
第9章 ASP.NET中的站点导航技术 191
9.1站点地图 1
9.1.1定义站点地图文件 191
9.1.2使用SiteMapPath控件 193
9.1.3SiteMap类 196
9.1.4URL地址映射 197
9.2TreeView控件 198
9.2.1使用TreeView控件 198
9.2.2以编程的方式添加节点 201
9.2.3使用TreeView控件导航 201
9.2.4绑定到XML文件 204
9.2.5按需加载节点 205
9.2.6带复选框的TreeView控件 206
9.3Menu控件 208
9.3.1使用Menu控件 209
9.3.2以编程的方式添加菜单项 211
9.3.3使用Menu控件导航 212
9.3.4一个站点地图示例 212
9.3.5绑定到XML文件 215
9.3.6Menu控件样式 217
9.3.7为Menu控件应用模板 219
9.4小结 220
第10章 用户控件和绘图 221
10.1用户控件 221
10.1.1创建用户控件 221
10.1.2使用用户控件 224
10.1.3在web.config中注册用户控件 225
10.1.4用户控件中公开属性 225
10.1.5开发人员用户控件事件 226
10.1.6动态加载用户控件 228
10.2动态绘图 230
10.2.1基本绘图 230
10.2.2绘制一个自定义的图片 232
10.2.3在Web页面放置自定义图片 234
10.2.4图片格式和质量 235
10.2.5一个Web绘图示例程序 238
10.3小结 240
第11章 ASP.NETAJAX开发技术 241
11.1ASP.NETAJAX基础 241
11.1.1Ajax技术简介 241
11.1.2ASP.NETAJAX架构 243
11.2ASP.NETAJAX服务器端扩展 244
11.2.1声明ScriptManager控件 244
11.2.2使用ScriptManager分发自定义脚本 245
11.2.3在ScriptManager中注册Web服务 247
11.2.4处理ScriptManager中的异常 249
11.2.5编程控制ScriptManager控件 252
11.2.6使用UpdatePanel控件 253
11.2.7使用多个UpdatePanel控件 255
11.2.8编程控制UpdatePanel控件 258
11.2.9使用UpdateProgress控件 259
11.2.10取消异步回送 261
11.2.11使用Timer控件更新UpdatePanel 262
11.3ASP.NETAJAX服务器端控件扩展 263
11.3.1安装ASP.NETAJAXControlToolkit 264
11.3.2使用ASP.NETAJAX扩展控件 265
11.4小结 266
第12章 Web部件技术 267
12.1Web部件基础 267
12.1.1一个WebParts示例程序 268
12.1.2定制WebPartZone控件 274
12.1.3动态控制显示模式 275
12.1.4动态编辑WebPart 277
12.2Web部件的个性化设置 278
12.2.1基本个性化设置 278
12.2.2个性化范围设置 280
12.2.3个性化WebPart属性 283
12.3小结 284
第四篇 数据访问技术 285
第13章 ADO.NET数据访问技术 285
13.1ADO.NET基础 285
13.1.1ADO.NET架构 285
13.1.2ADO.NET数据提供者 285
13.2连接数据库 287
13.2.1SqlConnection数据库连接类 287
13.2.2使用SqlConnectionStringBuilder连接字符串 288
13.2.3关闭和释放连接 289
13.2.4在web.config配置文件中保存连接字符串 291
13.2.5连接池技术 292
13.3与数据库交互 296
13.3.1使用SqlCommand操作数据库 296
13.3.2为SqlCommand传递参数 298
13.3.3使用SqlCommand执行存储过程 300
13.3.4使用事务 302
13.3.5使用DataAdapter对象 305
13.4管理内存数据 307
13.4.1了解数据集 307
13.4.2使用DataTable实现内存表 308
13.4.3使用DataSet管理数据 310
13.4.4使用Reader获取只读数据 314
13.4.5比较DataSet和DataReader 317
13.5小结 317
第14章 ASP.NET数据绑定技术 318
14.1绑定技术基础 318
14.1.1单值绑定 318
14.1.2重复值绑定 320
14.2数据源控件 325
14.2.1数据绑定的页面生存周期 326
14.2.2SqlDataSource控件 326
14.2.3使用参数过滤数据 328
14.2.4更新数据和并发处理 331
14.2.5编程执行SqlDataSource命令 333
14.2.6ObjectDataSource控件简介 336
14.2.7创建业务对象类 336
14.2.8在ObjectDataSource中使用参数 341
14.2.9使用ObjectDataSource更新数据 343
14.2.10LinqDataSource数据源简介 344
14.2.11使用LinqDataSource更新数据 347
14.3小结 347
第15章 数据绑定控件 348
15.1GridView控件 348
15.1.1使用GridView控件 348
15.1.2定制GridView控件的列 350
15.1.3使用模板列 352
15.1.4 GridView控件的选择功能 355
15.1.5使用GridView控件创建主从表 356
15.1.6 GridView控件事件 356
15.1.7编程格式化特定行列值 357
15.1.8为GridView控件添加统计信息 359
15.1.9实现分页、排序效果 360
15.2 ListView和DataPager控件 362
15.2.1 ListView控件简介 362
15.2.2 ListView控件的分组布局 365
15.2.3使用DataPager分页 367
15.3 DetailsView和FormView控件 368
15.3.1 DetailsView控件简介 368
15.3.2定义DetailsView字段 370
15.3.3在DetailsView中显示图像 372
15.3.4编程操作DetailsView 376
15.3.5 FormView控件简介 377
15.4小结 377
第16章 缓存与异步访问 378
16.1理解ASP.NET缓存技术 378
16.2输出缓存 378
16.2.1定义输出缓存 378
16.2.2查询字符串缓存 379
16.2.3自定义缓存 380
16.2.4用户控件缓存 381
16.2.5使用缓存配置 382
16.2.6使用HttpCachePolicy类控制缓存 382
16.3缓存数据 383
16.3.1添加缓存项 383
16.3.2指定缓存依赖 385
16.3.3缓存优先级 386
16.3.4使用缓存删除通知 386
16.3.5数据源控件缓存 389
16.4缓存依赖 391
16.4.1文件和缓存项依赖 391
16.4.2聚合依赖 392
16.4.3配置SQL缓存依赖 393
16.4.4使用SQL缓存依赖 394
16.5小结 395
第17章 LINQ技术 396
17.1 LINQ基础 396
17.1.1 LINQNQ简介 396
17.1.2延迟执行 397
17.1.3 LINQ表达式简介 398
17.1.4基本查询语法 398
17.1.5投影新对象 399
17.1.6过滤和排序 400
17.1.7分组和聚合 401
17.1.8联合查询 402
17.2 LINQ to DataSet操作内存表 404
17.2.1 LINQ to DataSet简介 404
17.2.2类型化DataSet 407
17.3 LINQ to SQL操作数据库 409
17.3.1数据实体类 409
17.3.2 DataContext类介绍 410
17.3.3在ASP.NET中应用LINQ to SQL 413
17.3.4自动生成数据实体类 415
17.3.5生成存储过程方法 416
17.3.6提交更改 417
17.4小结 419
第五篇 ASP.NET应用程序安全 421
第18章 成员和角色管理技术 421
18.1 ASP.NET Membership API简介 421
18.2使用Membership API 422
18.2.1配置表单身份验证 422
18.2.2创建Membership数据存储 423
18.2.3配置MembershipProvider和数据库连接 425
18.2.4创建和验证用户 427
18.3使用登录控件 428
18.3.1 Login控件 429
18.3.2 LoginStatus控件 432
18.3.3 LoginView控件 432
18.3.4 PasswordRecovery控件 433
18.3.5 ChangePassword控件 434
18.3.6 CreateUserWizard控件 434
18.4使用Membership类 4
18.4.1获取用户列表 437
18.4.2编辑、创建和删除用户 439
18.4.3验证用户 441
18.5角色和授权 441
18.5.1 URL授权 441
18.5.2文件和文件夹访问授权 442
18.5.3使用角色管理器 443
18.5.4使用Roles API配置基于角色的授权 445
18.6小结 446
第19章 用户个性化管理 447
19.1使用个性化 447
19.1.1配置个性化提供者 447
19.1.2定义个性化属性 448
19.1.3使用个性化属性 449
19.1.4使用个性化组 450
19.1.5个性化和自定义数据类型 451
19.1.6匿名用户个性化 452
19.1.7迁移匿名个性化信息 453
19.1.8创建自定义个性化类 454
19.1.9自动保存个性化信息 455
19.2小结 457
第20章 自定义成员提供者 458
20.1自定义成员提供者架构 458
20.2实现自定义提供者 458
20.2.1创建AccessMembershipProvider类 458
20.2.2重载ProviderBase类Initialize方法 459
20.2.3重载MembershipProvider基类的属性 462
20.2.4重载MembershipProvider基类的方法 464
20.2.5测试自定义成员提供者 469
20.3小结 471
第六篇 ASP.NET应用程序实战 473
第21章 ASP.NET 3.5版求职系统 473
21.1系统总体设计 473
21.1.1系统功能介绍 473
21.1.2系统架构简介 475
21.2数据库设计 476
21.2.1数据表结构 476
21.2.2数据表关系 478
21.3系统核心层设计 479
21.3.1 ASP.NET AJAX客户端脚本扩展 479
21.3.2 web.config系统配置 484
21.3.3数据访问类的设计 487
21.3.4业务对象类设计 495
21.4表现层技术分析 498
21.4.1 ASP.NET AJAX技术的应用 498
21.4.2基于Ajax的导航栏 503
21.4.3母版页 506
21.4.4主题和皮肤 506
21.4.5用户控件 507
21.4.6 WebPart控件的应用 511
21.4.7个性化设置 513
21.5求职者功能设计 516
21.5.1发布简历 516
21.5.2搜索工作职位 522
21.5.3查看/收藏工作职位 525
21.6企业雇主功能设计 527
21.6.1登记公司信息 528
21.6.2查看和添加工作职位 530
21.6.3添加/编辑工作职位 533
21.7小结 536