第一部分 构建ASP.NET页面 2
第1章 ASP.NET Framework概览 2
1.1 ASP.NET和.NET Framework 5
1.1.1 框架类库 5
1.1.2 公共语言运行库 9
1.2 ASP.NET控件 10
1.2.1 ASP.NET控件概览 10
1.2.2 HTML控件 11
1.2.3 理解和处理控件事件 12
1.2.4 视图状态 17
1.3 ASP.NET页面 20
1.3.1 动态编译 20
1.3.2 控件树 23
1.3.3 使用代码隐藏页面 24
1.3.4 处理页面事件 27
1.3.5 使用Page.IsPostBack属性 29
1.3.6 调试和跟踪ASP.NET页面 30
1.3.7 跟踪页面执行 33
1.4 安装ASP.NET Framework 35
1.5 小结 36
第2章 使用标准控件 37
2.1 显示信息 37
2.1.1 使用Label控件 37
2.1.2 使用Literal控件 41
2.2 接收用户输入 43
2.2.1 使用TextBox控件 43
2.2.2 使用CheckBox控件 49
2.2.3 使用RadioButton控件 51
2.3 提交表单数据 54
2.3.1 使用Button控件 54
2.3.2 使用LinkButton控件 56
2.3.3 使用ImageButton控件 58
2.3.4 Button控件使用客户端脚本 61
2.3.5 执行跨页面发送 63
2.3.6 指定默认按钮 66
2.3.7 处理Command事件 67
2.4 显示图像 69
2.4.1 使用Image控件 69
2.4.2 使用ImageMap控件 70
2.5 使用Panel控件 74
2.6 使用HyperLink控件 78
2.7 小结 80
第3章 使用验证控件 81
3.1 验证控件概述 81
3.1.1 验证控件与JavaScript 84
3.1.2 使用Page.IsValid 84
3.1.3 设置Display属性 85
3.1.4 突出显示验证错误 85
3.1.5 使用验证组 89
3.1.6 禁用验证 92
3.2 使用RequiredFieldValidator控件 93
3.3 使用RangeValidator控件 96
3.4 使用CompareValidator控件 98
3.5 使用RegularExpressionValidator控件 102
3.6 使用CustomValidator控件 104
3.7 使用ValidationSummary控件 110
3.8 创建自定义验证控件 113
3.8.1 创建LengthValidator控件 114
3.8.2 创建AjaxValidator控件 116
3.9 小结 120
第4章 使用Rich控件 121
4.1 接收上传文件 121
4.1.1 把文件保存到文件系统 122
4.1.2 把文件保存到数据库 124
4.1.3 上传大文件 127
4.2 显示日历 132
4.2.1 创建弹出式日期选择器 134
4.2.2 根据数据库表呈现日历 136
4.3 显示广告 140
4.3.1 在XML文件中保存广告 140
4.3.2 在数据库表中存储广告 143
4.3.3 跟踪显示和转到 144
4.4 显示不同的页面视图 148
4.4.1 显示选项卡式页面视图 148
4.4.2 显示多部分表单 151
4.5 显示向导 152
4.6 小结 156
第二部分 设计ASP.NET网站 158
第5章 使用母版页设计网站 158
5.1 创建母版页 158
5.1.1 创建默认内容 161
5.1.2 嵌套母版页 164
5.1.3 在母版页中使用图片和超链接 168
5.1.4 在Web配置文件中注册母版页 170
5.2 修改母版页内容 170
5.2.1 使用Title属性 171
5.2.2 使用Page Header属性 171
5.2.3 暴露母版页属性 173
5.2.4 对母版页使用FindControl()方法 175
5.3 动态加载母版页 176
5.4 小结 179
第6章 使用主题设计网站 180
6.1 创建主题 180
6.2 在主题中添加 皮肤 181
6.2.1 创建命名皮肤 182
6.2.2 Themes与StyleSheetThemes 183
6.2.3 禁用主题 185
6.2.4 在Web配置文件中注册主题 186
6.3 在主题中添加CSS 187
6.3.1 在主题中添加多个CSS 190
6.3.2 使用CSS改变页面布局 190
6.4 创建全局主题 193
6.5 动态应用主题 194
6.6 小结 198
第7章 使用用户控件创建定制控件 199
7.1 创建用户控件 199
7.1.1 在Web配置文件中注册用户控件 201
7.1.2 暴露用户控件的属性 202
7.1.3 暴露用户控件的事件 204
7.1.4 创建AddressForm控件 207
7.2 AJAX和用户控件 211
7.3 动态加载用户控件 214
7.3.1 使用引用指令 215
7.3.2 创建多页面向导 218
7.4 小结 224
第三部分 数据访问 226
第8章 数据访问概述 226
8.1 使用数据绑定控件 226
8.1.1 使用列表控件 226
8.1.2 使用表格式数据绑定控件 228
8.1.3 使用层次数据绑定控件 231
8.1.4 使用其他数据绑定控件 233
8.2 使用数据源控件 234
8.3 使用编程式数据绑定 237
8.4 模板和数据绑定表达式 239
8.4.1 使用模板 239
8.4.2 使用数据绑定表达式 242
8.4.3 使用两种数据绑定表达式 244
8.5 SQL Server 2005 Express概述 246
8.5.1 SQL Server Express特性 246
8.5.2 SQL Server 2005 Express管理工具 246
8.5.3 服务器端数据库与本地数据库 247
8.6 数据库驱动的Web应用程序示例 249
8.7 小结 251
第9章 使用SqlDataSource控件 252
9.1 创建数据库连接 253
9.1.1 连接到Microsoft SQL Server 253
9.1.2 连接到其他数据库 255
9.1.3 在Web配置文件中保存连接字符串 256
9.1.4 对连接字符串加密 258
9.2 执行数据库命令 259
9.2.1 执行内联SQL语句 259
9.2.2 执行存储过程 261
9.2.3 过滤数据库行 262
9.2.4 改变数据源模型 264
9.2.5 处理SQL命令执行错误 265
9.2.6 取消SQL命令执行 268
9.3 在SqlDataSource控件中使用ASP.NET参数 269
9.3.1 使用ASP.NET参数对象 270
9.3.2 使用ASP.NET的Control-Parameter对象 272
9.3.3 使用ASP.NET的Cookie-Parameter对象 275
9.3.4 使用ASP.NET的Form-Parameter对象 277
9.3.5 使用ASP.NET的Profile-Parameter对象 279
9.3.6 使用QueryStringParameter对象 280
9.3.7 使用SessionParameter对象 282
9.4 通过程序执行SqlDataSource命令 283
9.4.1 添加ADO.NET参数 283
9.4.2 执行Insert、Update和Delete命令 284
9.4.3 执行select命令 286
9.5 使用SqlDataSource控件缓存数据库数据 289
9.6 小结 291
第10章 使用List控件 292
10.1 List控件概述 292
10.1.1 声明列表项 292
10.1.2 绑定到数据源 294
10.1.3 确定被选中的列表项 297
10.1.4 追加数据项 300
10.1.5 启用自动回传 301
10.1.6 使用列表项集合 302
10.2 使用DropDownList控件 305
10.3 使用RadioButtonList控件 306
10.4 使用ListBox控件 308
10.5 使用CheckBoxList控件 311
10.6 使用BulletedList控件 312
10.7 创建自定义的List控件 315
10.8 小结 322
第11章 使用GridView控件 323
11.1 GridView控件基础 323
11.1.1 显示数据 323
11.1.2 选择数据 325
11.1.3 使用数据键 327
11.1.4 数据排序 329
11.1.5 数据分页 333
11.1.6 编辑数据 339
11.1.7 显示空数据 341
11.1.8 格式化GridView控件 345
11.1.9 在GridView控件中使用ViewState 346
11.2 在GridView控件中使用字段 347
11.2.1 使用BoundField 347
11.2.2 使用CheckBoxField 349
11.2.3 使用CommandField 351
11.2.4 使用ButtonField 352
11.2.5 使用HyperLinkField 355
11.2.6 使用ImageField 359
11.2.7 使用TemplateField 361
11.3 GridView控件的事件 363
11.3.1 突出显示GridView行 364
11.3.2 显示列汇总 365
11.3.3 显示嵌套的主从表单 367
11.4 扩展GridView控件 369
11.4.1 创建长文本字段 369
11.4.2 创建删除按钮字段 372
11.4.3 创建验证字段 374
11.5 小结 378
第12章 使用DetailsView控件和FormView控件 379
12.1 使用DetailsView控件 379
12.1.1 使用DetailsView控件显示数据 379
12.1.2 在DetailsView控件中使用字段 381
12.1.3 使用DetailsView控件显示空数据 383
12.1.4 使用DetailsView控件对数据分页 385
12.1.5 使用DetailsView控件更新数据 390
12.1.6 使用DetailsView控件插入数据 395
12.1.7 使用DetailsView控件删除数据 398
12.1.8 DetailsView控件的事件 399
12.1.9 格式化DetailsView控件 401
12.2 使用FormView控件 403
12.2.1 使用FormView控件显示数据 404
12.2.2 使用FormView控件对数据分页 405
12.2.3 使用FormView控件编辑数据 409
12.2.4 使用FormView控件中插入数据 412
12.2.5 使用FormView控件删除数据 414
12.3 小结 416
第13章 使用Repeater控件和DataList控件 417
13.1 使用Repeater控件 417
13.1.1 使用Repeater控件显示数据 417
13.1.2 在Repeater控件中使用模板 420
13.1.3 Repeater控件的事件处理 424
13.2 使用DataList控件 429
13.2.1 使用DataList控件显示数据 429
13.2.2 在多列中显示数据 431
13.2.3 在DataList控件中使用模板 433
13.2.4 使用DataList控件选择数据 434
13.2.5 使用DataList控件编辑数据 437
13.2.6 格式化DataList控件 440
13.3 小结 442
第四部分 创建组件 444
第14章 创建组件 444
14.1 创建基本组件 445
14.1.1 组件和动态编译 446
14.1.2 App_Code文件夹中不同语言的组件 446
14.1.3 声明方法 447
14.1.4 声明字段和属性 448
14.1.5 声明构造函数 452
14.1.6 重载方法和构造函数 453
14.1.7 声明命名空间 454
14.1.8 创建部分类 455
14.1.9 继承和MustInherit类 456
14.1.10 声明接口 459
14.1.11 使用访问修饰符 460
14.1.12 智能提示和组件 460
14.1.13 在组件中使用ASP.NET内部对象 461
14.2 创建组件库 464
14.2.1 编译组件库 464
14.2.2 向类库中添加引用 467
14.3 构架思考 469
14.3.1 创建多层应用程序 469
14.3.2 创建用户界面层 470
14.3.3 创建业务逻辑层 473
14.3.4 创建数据访问层 475
14.4 小结 478
第15章 使用ObjectDataSource控件 479
15.1 使用ObjectDataSource控件表示对象 479
15.1.1 绑定到组件 480
15.1.2 绑定到DataReader 481
15.1.3 绑定到DataSet 482
15.1.4 绑定到Web服务 483
15.2 使用ObjectDataSource控件与其参数 486
15.2.1 使用不同的参数类型 489
15.2.2 作为参数传递对象 491
15.3 使用ObjectDataSource控件分页、排序和过滤数据 495
15.3.1 用户界面分页 495
15.3.2 数据源分页 497
15.3.3 用户界面排序 501
15.3.4 数据源排序 502
15.3.5 过滤数据 506
15.4 处理ObjectDataSource控件的事件 509
15.4.1 添加和修改参数 509
15.4.2 处理方法的执行错误 512
15.4.3 处理ObjectCreateing事件 515
15.5 ObjectDataSource控件与并发访问 517
15.6 扩展ObjectDataSource控件 519
15.6.1 创建自定义的ObjectData-Source控件 519
15.6.2 创建自定义参数对象 521
15.7 小结 526
第16章 创建数据访问组件 527
16.1 连接模式数据访问 527
16.1.1 使用Connection对象 530
16.1.2 使用Command对象 538
16.1.3 使用DataReader对象 552
16.2 非连接模式数据访问 558
16.2.1 使用DataAdapter对象 558
16.2.2 使用DataTable对象 563
16.2.3 使用DataView对象 570
16.2.4 使用DataSet对象 571
16.3 执行异步数据库命令 573
16.4 使用.NET Framework创建数据库对象 578
16.4.1 启用CLR(通用语言运行时)集成 578
16.4.2 使用.NET Framework创建用户自定义类型 579
16.4.3 使用用户自定义类型创建数据访问层 582
16.4.4 使用.NET Framework创建存储过程 585
16.4.5 创建存储过程程序集 585
16.5 小结 589
第五部分 站点导航 592
第17章 使用导航控件 592
17.1 理解站点地图 592
17.2 使用SiteMapPath控件 594
17.3 使用Menu控件 598
17.3.1 声明式添加Menu条目 599
17.3.2 组合使用Menu控件和MultiView控件 601
17.3.3 绑定到站点地图 604
17.3.4 绑定到XML文件 606
17.3.5 绑定到数据库数据 609
17.3.6 定制Menu控件 612
17.3.7 使用Menu控件的模板 617
17.4 使用TreeView控件 619
17.4.1 声明式地添加树视图节点 619
17.4.2 在TreeView控件中显示复选框 622
17.4.3 绑定到站点地图 624
17.4.4 绑定到XML文件 625
17.4.5 绑定到数据库数据 627
17.4.6 使用延时加载和AJAX 630
17.4.7 定制TreeView控件 633
17.5 创建分层的SQL数据源控件 639
17.6 小结 641
第18章 使用站点地图 642
18.1 使用SiteMapDataSource控件 642
18.2 使用SiteMap类 647
18.3 高级站点地图配置 651
18.3.1 使用安全修整 651
18.3.2 合并多个站点地图 656
18.3.3 创建自定义的站点地图属性 657
18.4 创建自定义站点地图提供器 659
18.4.1 创建AutoSiteMapProvider 659
18.4.2 创建SqlSiteMapProvider 662
18.5 创建Google的SiteMap文件 667
18.6 小结 670
第19章 高级页面导航 671
19.1 重映射URL 671
19.2 使用VirtualPathProvider类 678
19.2.1 VirtualPathProvider类的局限性 678
19.2.2 理解VirtualPathProvider类 678
19.2.3 注册VirtualPathProvider类 679
19.2.4 将网站存储在微软SQL Server数据库中 680
19.3 小结 691