內容介紹
《ASP.NET3.5揭秘(卷1)》是享有盛譽的ASP.NET經典名著,涵蓋了ASP.NET 3.5的方方面面,包括了所有最新的特性。書中詳細介紹了微軟LINQ to SQL資料庫查詢技術,以及ListView和DataPager兩種新的數據訪問控制項等技術。《ASP.NET3.5揭秘(卷1)》作者Stephen Walther是ASP界的名人,是微軟公司的ASP.NET MVP,榮獲微軟“軟體傳奇人物”稱號(微軟技術社區的最高榮譽),曾經開發了許多示範性應用程式。作者介紹
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