内容简介
Stephen Walther是蜚声世界的ASP.NET专家、微软的MVP,并荣获微软公司社区最高技术荣誉“微软传奇人物”称号。他曾经开发的Ra.RASP.NEF示范性应用程序ASP.NETCommunityStalerKit,麻省理工学院、斯坦福大学和哈佛大学等200多所大学使用的Collegescape应用程序,以及拍卖网站www.cityauction.com等,都已经成为经典。
作品目录
第一部分 构建ASP.NET页面 1
第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控件概览 11
1.2.2 HTML控件 12
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 小结 37
第2章 使用标准控件 38
2.1 显示信息 38
2.1.1 使用Label控件 38
2.1.2 使用Literal控件 42
2.2 接收用户输入 44
2.2.1 使用TextBox控件 44
2.2.2 使用CheckBox控件 50
2.2.3 使用RadioButton控件 52
2.3 提交表单数据 55
2.3.1 使用Button控件 55
2.3.2 使用LinkButton控件 57
2.3.3 使用ImageButton控件 59
2.3.4 Button控件使用客户端脚本 62
2.3.5 执行跨页面发送 64
2.3.6 指定默认按钮 67
2.3.7 处理Command事件 68
2.4 显示图像 70
2.4.1 使用Image控件 70
2.4.2 使用ImageMap控件 71
2.5 使用Panel控件 75
2.6 使用HyperLink控件 79
2.7 小结 81
第3章 使用验证控件 82
3.1 验证控件概述 82
3.1.1 验证控件与JavaScript 85
3.1.2 使用Page.IsValid 85
3.1.3 设置Display属性 86
3.1.4 突出显示验证错误 86
3.1.5 使用验证组 90
3.1.6 禁用验证 93
3.2 使用RequiredFieldValidator控件 94
3.3 使用RangeValidator控件 97
3.4 使用CompareValidator控件 99
3.5 使用RegularExpressionValidator控件 103
3.6 使用CustomValidator控件 105
3.7 使用ValidationSummary控件 111
3.8 创建自定义验证控件 114
3.8.1 创建LengthValidator控件 115
3.8.2 创建AjaxValidator控件 117
3.9 小结 121
第4章 使用Rich控件 122
4.1 接收上传文件 122
4.1.1 把文件保存到文件系统 123
4.1.2 把文件保存到数据库 125
4.1.3 上传大文件 128
4.2 显示日历 133
4.2.1 创建弹出式日期选择器 135
4.2.2 根据数据库表呈现日历 137
4.3 显示广告 141
4.3.1 在XML文件中保存广告 141
4.3.2 在数据库表中存储广告 144
4.3.3 跟踪显示和转到 145
4.4 显示不同的页面视图 149
4.4.1 显示选项卡式页面视图 149
4.4.2 显示多部分表单 152
4.5 显示向导 153
4.6 小结 157
第二部分 设计ASP.NET网站 159
第5章 使用母版页设计网站 160
5.1 创建母版页 160
5.1.1 创建默认内容 163
5.1.2 嵌套母版页 166
5.1.3 在母版页中使用图片和超链接 170
5.1.4 在Web配置文件中注册母版页 172
5.2 修改母版页内容 172
5.2.1 使用Title属性 173
5.2.2 使用Page Header属性 173
5.2.3 暴露母版页属性 175
5.2.4 对母版页使用FindControl方法 177
5.3 动态加载母版页 178
5.4 小结 181
第6章 使用主题设计网站 182
6.1 创建主题 182
6.2 在主题中添加皮肤 183
6.2.1 创建命名皮肤 184
6.2.2 Themes与StyleSheetThemes 185
6.2.3 禁用主题 187
6.2.4 在Web配置文件中注册主题 188
6.3 在主题中添加CSS 189
6.3.1 在主题中添加多个CSS 192
6.3.2 使用CSS改变页面布局 192
6.4 创建全局主题 195
6.5 动态应用主题 196
6.6 小结 200
第7章 使用用户控件创建定制控件 201
7.1 创建用户控件 201
7.1.1 在Web配置文件中注册用户控件 203
7.1.2 暴露用户控件的属性 204
7.1.3 暴露用户控件的事件 206
7.1.4 创建AddressForm控件 209
7.2 Ajax和用户控件 214
7.3 动态加载用户控件 215
7.3.1 使用引用指令 216
7.3.2 创建多页面向导 220
7.4 小结 226
第三部分 数据访问 227
第8章 数据访问概述 228
8.1 使用DataBound控件 228
8.1.1 使用列表控件 228
8.1.2 使用表格式DataBound控件 230
8.1.3 使用层次DataBound控件 233
8.1.4 使用其他数据绑定控件 235
8.2 使用DataSource控件 237
8.3 使用编程式数据绑定 240
8.4 模板和数据绑定表达式 241
8.4.1 使用模板 241
8.4.2 使用数据绑定表达式 244
8.4.3 使用两种数据绑定表达式 247
8.5 SQL Server 2005 Express 概述 248
8.5.1 SQL Server Express 特性 248
8.5.2 SQL Server 2005 Express管理工具 249
8.5.3 服务器端数据库与本地数据库 250
8.6 数据库驱动的Web应用程序示例 252
8.7 小结 253
第9章 使用SqlDataSource控件 254
9.1 创建数据库连接 255
9.1.1 连接到Microsoft SQL Server 255
9.1.2 连接到其他数据库 257
9.1.3 在Web配置文件中保存连接字符串 258
9.1.4 对连接字符串加密 260
9.2 执行数据库命令 261
9.2.1 执行内联SQL语句 261
9.2.2 执行存储过程 263
9.2.3 过滤数据库行 264
9.2.4 改变数据源模型 266
9.2.5 处理SQL命令执行错误 267
9.2.6 取消SQL命令执行 270
9.3 在SqlDataSource控件中使用ASP.NET参数 271
9.3.1 使用ASP.NET参数对象 272
9.3.2 使用ASP.NET的Control-Parameter对象 274
9.3.3 使用ASP.NET的Cookie-Parameter对象 277
9.3.4 使用ASP.NET的Form-Parameter对象 279
9.3.5 使用ASP.NET的Profile-Parameter对象 281
9.3.6 使用QueryStringParameter对象 282
9.3.7 使用SessionParameter对象 284
9.4 通过程序执行SqlDataSource命令 285
9.4.1 添加ADO.NET参数 285
9.4.2 执行Insert、Update和Delete命令 286
9.4.3 执行select命令 288
9.5 使用SqlDataSource控件缓存数据库数据 291
9.6 小结 293
第10章 使用List控件 294
10.1 List控件概述 294
10.1.1 声明列表项 294
10.1.2 绑定到数据源 296
10.1.3 确定被选中的列表项 299
10.1.4 追加数据项 302
10.1.5 启用自动回传 303
10.1.6 使用列表项集合 304
10.2 使用DropDownList控件 307
10.3 使用RadioButtonList控件 308
10.4 使用ListBox控件 310
10.5 使用CheckBoxList控件 313
10.6 使用BulletedList控件 314
10.7 创建自定义的List控件 317
10.8 小结 324
第11章 使用GridView控件 325
11.1 GridView控件基础 325
11.1.1 显示数据 325
11.1.2 选择数据 327
11.1.3 使用数据键 329
11.1.4 数据排序 331
11.1.5 数据分页 336
11.1.6 编辑数据 341
11.1.7 显示空数据 344
11.1.8 格式化GridView控件 347
11.1.9 在GridView控件中使用ViewState 349
11.2 在GridView控件中使用字段 349
11.2.1 使用BoundField 350
11.2.2 使用CheckBoxField 352
11.2.3 使用CommandField 353
11.2.4 使用ButtonField 355
11.2.5 使用HyperLinkField 357
11.2.6 使用ImageField 361
11.2.7 使用TemplateField 363
11.3 GridView控件的事件 365
11.3.1 突出显示GridView行 366
11.3.2 显示列汇总 368
11.3.3 显示嵌套的主从表单 369
11.4 扩展GridView控件 371
11.4.1 创建长文本字段 371
11.4.2 创建删除按钮字段 374
11.4.3 创建验证字段 376
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控件插入数据 396
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
第14章 使用ListView和DataPager控件 443
14.1 使用ListView控件 443
14.1.1 使用LayoutTemplate和ItemTemplate 444
14.1.2 使用GroupTemplate 446
14.1.3 选择一行 448
14.1.4 排序数据库数据 450
14.1.5 编辑数据库数据 452
14.2 使用DataPager控件 456
14.2.1 创建自定义分页用户界面 458
14.2.2 使用DataPager控件进行数据源分页 459
14.3 小结 461
第四部分 创建组件 463
第15章 创建组件 464
15.1 创建基本组件 464
15.1.1 组件和动态编译 466
15.1.2 App_Code文件夹中不同语言的组件 466
15.1.3 声明方法 467
15.1.4 声明字段和属性 468
15.1.5 声明构造函数 472
15.1.6 重载方法和构造函数 473
15.1.7 声明命名空间 474
15.1.8 创建部分类 475
15.1.9 继承和MustInherit类 476
15.1.10 声明接口 478
15.1.11 使用访问修饰符 480
15.1.12 智能提示和组件 480
15.1.13 在组件中使用ASP.NET内部对象 481
15.2 创建组件库 484
15.2.1 编译组件库 484
15.2.2 向类库中添加引用 486
15.3 构架思考 488
15.3.1 创建多层应用程序 489
15.3.2 创建用户界面层 489
15.3.3 创建业务逻辑层 492
15.3.4 创建数据访问层 494
15.4 小结 497
第16章 使用ObjectDataSource控件 498
16.1 使用ObjectDataSource控件表示对象 498
16.1.1 绑定到组件 499
16.1.2 绑定到DataReader 500
16.1.3 绑定到DataSet 501
16.1.4 绑定到LINQ to SQL查询 502
16.1.5 绑定到Web服务 503
16.2 使用ObjectDataSource控件与参数 506
16.2.1 使用不同的参数类型 509
16.2.2 作为参数传递对象 511
16.3 使用ObjectDataSource控件分页、排序和过滤数据 515
16.3.1 用户界面分页 515
16.3.2 数据源分页 517
16.3.3 用户界面排序 522
16.3.4 数据源排序 523
16.3.5 过滤数据 527
16.4 处理ObjectDataSource控件的事件 530
16.4.1 添加和修改参数 530
16.4.2 处理方法的执行错误 533
16.4.3 处理ObjectCreating事件 536
16.5 ObjectDataSource控件与并发访问 538
16.6 扩展ObjectDataSource控件 540
16.6.1 创建自定义的ObjectData- Source控件 540
16.6.2 创建自定义参数对象 542
16.7 小结 547
第17章 创建数据访问组件 548
17.1 连接模式数据访问 548
17.1.1 使用Connection对象 551
17.1.2 使用Command对象 559
17.1.3 使用DataReader对象 573
17.2 非连接模式数据访问 579
17.2.1 使用DataAdapter对象 579
17.2.2 使用DataTable对象 584
17.2.3 使用DataView对象 591
17.2.4 使用DataSet对象 592
17.3 执行异步数据库命令 594
17.3.1 使用异步ADO.NET方法 595
17.3.2 使用异步ASP.NET页面 596
17.4 使用.NET Framework创建数据库对象 599
17.4.1 启用CLR(通用语言运行时)集成 599
17.4.2 使用.NET Framework创建用户自定义类型 600
17.4.3 使用用户自定义类型创建数据访问层 603
17.4.4 使用.NET Framework创建存储过程 606
17.4.5 创建存储过程程序集 606
17.5 小结 610
第18章 使用LINQ to SQL访问数据库 611
18.1 C#和VB.NET的新特性 612
18.1.1 理解自动属性 612
18.1.2 理解初始化列表 612
18.1.3 理解类型推断 614
18.1.4 理解匿名类型 615
18.1.5 理解泛型 615
18.1.6 理解Lambda表达式 617
18.1.7 理解扩展方法 619
18.1.8 理解LINQ 620
18.2 创建LINQ to SQL实体 622
18.2.1 手工创建实体 622
18.2.2 使用Object Relational Designer创建实体 625
18.2.3 构建实体关联 627
18.2.4 使用LinqDataSource控件 628
18.3 使用LINQ to SQL执行标准数据库命令 630
18.3.1 LINQ to Objects与LINQ to SQL 630
18.3.2 使用LINQ to SQL进行选择 631
18.3.3 使用LINQ to SQL进行插入 636
18.3.4 使用LINQ to SQL进行更新 639
18.3.5 使用LINQ to SQL进行删除 642
18.3.6 动态查询 644
18.3.7 调试LINQ to SQL 647
18.4 创建自定义的LINQ实体基类 649
18.4.1 使用实体基类 650
18.4.2 使用EntityBase类执行标准数据访问操作 650
18.4.3 用EntityBase类执行验证 652
18.5 小结 656
第五部分 站点导航 657
第19章 使用导航控件 658
19.1 理解站点地图 658
19.2 使用SiteMapPath控件 660
19.3 使用Menu控件 664
19.3.1 声明式添加Menu条目 665
19.3.2 组合使用Menu控件和MultiView控件 667
19.3.3 绑定到站点地图 670
19.3.4 绑定到XML文件 672
19.3.5 绑定到数据库数据 675
19.3.6 定制Menu控件 678
19.3.7 使用Menu控件的模板 683
19.4 使用TreeView控件 685
19.4.1 声明式地添加树视图节点 685
19.4.2 在TreeView控件中显示复选框 688
19.4.3 绑定到站点地图 690
19.4.4 绑定到XML文件 691
19.4.5 绑定到数据库数据 693
19.4.6 使用延时加载和Ajax 696
19.4.7 定制TreeView控件 699
19.5 创建分层的SQL数据源控件 705
19.6 小结 707
第20章 使用站点地图 708
20.1 使用SiteMapDataSource控件 708
20.2 使用SiteMap类 713
20.3 高级站点地图配置 717
20.3.1 使用安全修整 717
20.3.2 合并多个站点地图 721
20.3.3 创建自定义的站点地图属性 722
20.4 创建自定义站点地图提供程序 724
20.4.1 创建AutoSiteMapProvider 724
20.4.2 创建SqlSiteMapProvider 728
20.5 创建Google的SiteMap文件 732
20.6 小结 735
第21章 高级页面导航 736
21.1 重映射URL 736
21.2 使用VirtualPathProvider类 743
21.2.1 VirtualPathProvider类的局限性 743
21.2.2 理解VirtualPathProvider类 743
21.2.3 注册VirtualPathProvider类 744
21.2.4 将网站存储在微软SQL Server数据库中 745
21.3 小结 750
· · · · · ·
作者简介
Stephen Walther是蜚声世界的ASP.NET专家、微软的MVP,并荣获微软公司社区最高技术荣誉“微软传奇人物”称号。他曾经开发的Ra.RASP.NEF示范性应用程序ASP.NETCommunityStalerKit,麻省理工学院、斯坦福大学和哈佛大学等200多所大学使用的Collegescape应用程序,以及拍卖网站www.cityauction.com等,都已经成为经典。