第一部分 核心概念
第1 章 ASP.NET 簡介 2
1.1 ASP.NET 的7 大要點 2
1.1.1 要點1:ASP.NET 是同.NETFramework 集成在一起的 2
1.1.2 要點2:ASP.NET 是編譯執行的,而不是解釋執行的 3
1.1.3 要點3:ASP.NET 支持多語言 4
1.1.4 要點4:ASP.NET 運行在公共語言運行庫內 6
1.1.5 要點5:ASP.NET 是麵嚮對象的 7
1.1.6 要點6:ASP.NET 支持所有的瀏覽器 8
1.1.7 要點7:ASP.NET 易於部署和配置 8
1.2 ASP.NET 的演變 9
1.2.1 ASP.NET 1.0 和ASP.NET1.1 9
1.2.2 ASP.NET 2.0 9
1.2.3 ASP.NET 3.5 10
1.2.4 ASP.NET 4 12
1.2.5 Silverlight 14
1.3 總結 15
第2 章 Visual Studio 16
2.1 Visual Studio 16
2.1.1 網站和Web 項目 17
2.1.2 創建無項目文件的網站 18
2.1.3 設計網頁 21
2.2 Visual StudioIDE 26
2.2.1 解決方案資源管理器 28
2.2.2 文檔窗口 29
2.2.3 工具箱 29
2.2.4 錯誤列錶和任務列錶 30
2.2.5 服務器資源管理器 31
2.3 代碼編輯器 32
2.3.1 添加程序集引用 33
2.3.2 智能感知和大綱顯示 35
2.3.3 Visual Studio 2010 改進 37
2.4 編碼模型 42
2.4.1 代碼隱藏文件如何與頁麵連接 44
2.4.2 控件標簽如何與頁麵變量連接 44
2.4.3 事件如何與事件處理程序連接 . 46
2.5 Web 項目 47
2.5.1 基於項目的開發 47
2.5.2 創建Web 項目 48
2.5.3 遷移舊版Visual Studio 創建的網站 49
2.6 Visual Studio 調試 51
2.6.1 單步調試 52
2.6.2 變量監視 54
2.6.3 高級斷點 55
2.7 Web Development Helper 56
2.8 總結 57
第3 章 Web 窗體 58
3.1 頁麵處理 58
3.1.1 HTML 錶單 59
3.1.2 動態用戶界麵 60
3.1.3 ASP.NET 事件模型 61
3.1.4 自動迴送 62
3.1.5 視圖狀態 63
3.1.6 XHTML 兼容性 66
3.1.7 客戶端控件ID 71
3.2 Web 窗體處理階段 73
3.2.1 頁麵框架初始化 74
3.2.2 用戶代碼初始化 74
3.2.3 驗證 74
3.2.4 事件處理 75
3.2.5 自動數據綁定 75
3.2.6 清除 76
3.2.7 頁麵流示例 76
3.3 作為控件容器的頁麵 78
3.3.1 顯示控件樹 78
3.3.2 頁頭 82
3.3.3 動態控件的創建 82
3.4 Page 類 84
3.4.1 Session、Application 和Cache 84
3.4.2 Request 85
3.4.3 Response 86
3.4.4 Server 88
3.4.5 User 90
3.4.6 Trace 91
3.4.7 訪問其他類中的HTTP 上下文 96
3.5 總結 96
第4 章 服務器控件 97
4.1 服務器控件的類型 97
4.2 HTML 服務器控件 99
4.2.1 HtmlControl 類 100
4.2.2 HtmlContainerControl 類 100
4.2.3 HtmlInputControl 類 100
4.2.4 HTML 服務器控件類 101
4.2.5 設置Style 特性和其他屬性 102
4.2.6 通過編程創建服務器控件 103
4.2.7 處理服務器端事件 104
4.3 Web 控件 107
4.3.1 WebControl 基類 107
4.3.2 基本的Web 控件類 108
4.3.3 單位 109
4.3.4 枚舉 110
4.3.5 顔色 110
4.3.6 字體 111
4.3.7 焦點 12
4.3.8 默認按鈕 113
4.3.9 可滾動麵闆 114
4.3.10 處理Web 控件事件 114
4.4 List 控件 116
4.4.1 Selectable 列錶控件 117
4.4.2 BulletedList 控件 120
4.5 輸入驗證控件 121
4.5.1 驗證控件 121
4.5.2 驗證流程 122
4.5.3 BaseValidator 類 122
4.5.4 RequiredFieldValidator 控件 124
4.5.5 RangeValidator 控件 124
4.5.6 CompareValidator 控件 125
4.5.7 RegularExpressionValidator 控件 125
4.5.8 CustomValidator 控件 127
4.5.9 ValidationSummary 控件 128
4.5.10 通過編程使用驗證器 129
4.5.11 驗證組 130
4.6 富控件 132
4.6.1 AdRotator 控件 132
4.6.2 Calendar 控件 134
4.7 總結 136
第5 章 ASP.NET 應用程序 137
5.1 剖析ASP.NET 應用程序 137
5.1.1 應用程序域 137
5.1.2 應用程序生命周期 138
5.1.3 應用程序更新 139
5.1.4 應用程序目錄結構 139
5.2 global.asax 應用程序文件 140
5.2.1 應用程序事件 141
5.2.2 演示應用程序事件 143
5.3 ASP.NET 配置 144
5.3.1 machine.config 文件 144
5.3.2 web.config 文件 147
5.3.3 <system.web>設置 150
5.3.4 <system.webServer> 150
5.3.5 <appSettings> 150
5.3.6 <connectionStrings> 152
5.3.7 通過編程讀寫配置節 152
5.3.8 網站管理工具(WAT) 155
5.3.9 擴展配置文件結構 156
5.3.10 加密配置節 159
5.4 . NET 組件 161
5.4.1 創建組件 161
5.4.2 通過App_Code 目錄使用組件 162
5.4.3 通過Bin 目錄使用組件 163
5.5 擴展HTTP 管道 165
5.5.1 HTTP 處理程序 165
5.5.2 創建自定義的HTTP 處理程序 167
5.5.3 配置自定義的HTTP 處理程序 168
5.5.4 使用無須配置的HTTP 處理程序 169
5.5.5 創建高級的HTTP 處理程序 169
5.5.6 為非HTML 內容創建HTTP處理程序 171
5.5.7 HTTP 模塊 173
5.5.8 創建自定義HTTP 模塊 174
5.6 總結 176
第6 章 狀態管理 177
6.1 ASP.NET 狀態管理 177
6.2 視圖狀態 179
6.2.1 視圖狀態示例 180
6.2.2 在視圖狀態中保存對象 181
6.2.3 視圖狀態評估 183
6.2.4 有選擇地禁用視圖狀態 184
6.2.5 視圖狀態安全 185
6.3 在頁麵間傳送信息 186
6.3.1 查詢字符串 187
6.3.2 跨頁迴發 188
6.4 cookie 193
6.5 會話狀態 194
6.5.1 會話架構 194
6.5.2 使用會話狀態 196
6.5.3 配置會話狀態 197
6.5.4 會話狀態安全 202
6.6 應用程序狀態 203
6.7 總結 206
第二部 分 數據訪問
第7 章 ADO.NET 基礎 208
7.1 ADO.NET 架構 209
7.1.1 ADO.NET 數據提供程序 209
7.1.2 ADO.NET 的標準化 210
7.1.3 基本ADO.NET 類 211
7.2 Connection 類 212
7.2.1 連接字符串 212
7.2.2 測試連接 214
7.2.3 連接池 215
7.3 Command 類和DataReader 類 217
7.3.1 Command 基礎 217
7.3.2 DataReader 類 218
7.3.3 ExecuteReader()方法和DataReader 218
7.3.4 ExecuteScalar()方法 223
7.3.5 ExecuteNonQuery()方法 223
7.3.6 SQL 注入攻擊 224
7.3.7 使用參數化命令 226
7.3.8 調用存儲過程 227
7.4 事務 229
7.4.1 事務和ASP.NET 應用程序 230
7.4.2 隔離級彆 234
7.4.3 保存點 235
7.5 提供程序無關的代碼 235
7.5.1 創建工廠 236
7.5.2 用工廠創建對象 237
7.5.3 使用提供程序無關的代碼的查詢 237
7.6 總結 239
第8 章 數據組件和DataSet 240
8.1 構建數據訪問組件 240
8.1.1 數據包 241
8.1.2 存儲過程 242
8.1.3 數據應用類 243
8.1.4 測試數據庫組件 248
8.2 非連接的數據 249
8.2.1 Web 應用程序和DataSet 250
8.2.2 XML 集成 251
8.3 DataSet 類 251
8.4 DataAdapter 類 252
8.4.1 填充DataSet 253
8.4.2 使用多個錶和關係 254
8.4.3 查找特定行 257
8.4.4 在數據訪問類裏使用DataSet 257
8.4.5 數據綁定 258
8.5 DataView 類 259
8.5.1 使用DataView 排序 259
8.5.2 使用DataView 過濾 261
8.5.3 使用關係的高級過濾 262
8.5.4 計算列 263
8.6 總結 264
第9 章 數據綁定 265
9.1 基本的數據綁定 265
9.1.1 單值綁定 266
9.1.2 其他類型的錶達式 268
9.1.3 重復值綁定 271
9.2 數據源控件 277
9.3 SqlDataSource 278
9.3.1 選擇記錄 279
9.3.2 參數化命令 281
9.3.3 錯誤處理 285
9.3.4 更新記錄 286
9.3.5 刪除記錄 289
9.3.6 插入記錄 289
9.3.7 SqlDataSource 的不足 290
9.4 ObjectDataSource 291
9.4.1 選擇記錄 291
9.4.2 更新記錄 295
9.4.3 使用數據對象執行更新 296
9.5 數據源控件的限製 299
9.5.1 問題 299
9.5.2 添加其他項 300
9.5.3 使用SqlDataSource 處理其他選項 301
9.5.4 使用ObjectDataSource 處理其他選項 301
9.6 總結 302
第10 章 富數據控件 303
10.1 GridView 303
10.2 格式化GridView 307
10.2.1 格式化字段 307
10.2.2 樣式 308
10.2.3 格式化特定值 311
10.3 GridView 行選擇 313
10.3.1 使用選擇來創建主—從錶單 314
10.3.2 SelectedIndexChanged 事件 315
10.3.3 將數據字段用作選擇按鈕 315
10.4 對GridView 排序 316
10.4.1 使用SqlDataSource 排序 317
10.4.2 使用ObjectDataSource 排序 318
10.4.3 排序和選擇 319
10.4.4 高級排序 319
10.5 GridView 分頁 320
10.5.1 自動分頁 320
10.5.2 分頁和選擇 322
10.5.3 ObjectDataSource 的自定義分頁 322
10.5.4 定製分頁欄 324
10.6 GridView 模闆 325
10.6.1 使用多個模闆 327
10.6.2 在Visual Studio 中編輯模闆 328
10.6.3 綁定到方法 328
10.6.4 處理模闆中的事件 330
10.6.5 使用模闆編輯 330
10.6.6 模闆中的客戶端ID 335
10.7 ListView 336
10.7.1 分組 338
10.7.2 分頁 340
10.8 DetailsView 和FormView 341
10.8.1 DetailsView 341
10.8.2 FormView 344
10.9 高級網格 345
10.9.1 GridView 中的匯總 345
10.9.2 單個錶中的父/子視圖 347
10.9.3 使用查找錶編輯字段 349
10.9.4 處理來自數據庫的圖片 351
10.9.5 探測並發衝突 355
10.10 總結 359
第11 章 緩存和異步頁麵 360
11.1 理解ASP.NET 緩存 360
11.2 輸齣緩存 361
11.2.1 聲明性的輸齣緩存 361
11.2.2 緩存和查詢字符串 362
11.2.3 使用特定查詢字符串參數的緩存 363
11.2.4 自定義緩存控製 364
11.2.5 使用HttpCachePolicy 類進行緩存 365
11.2.6 緩存後替換和部分頁緩存 365
11.2.7 緩存用戶配置 367
11.2.8 緩存配置 368
11.2.9 輸齣緩存擴展 369
11.3 數據緩存 373
11.3.1 嚮緩存添加項目 373
11.3.2 簡單的緩存測試 375
11.3.3 緩存優先級 376
11.3.4 使用數據源控件的緩存 376
11.4 緩存依賴 379
11.4.1 文件和緩存項目依賴 379
11.4.2 聚閤依賴 380
11.4.3 移除項目迴調 381
11.4.4 理解SQL 緩存通知 383
11.4.5 緩存通知的工作方式 384
11.4.6 啓用通知 384
11.4.7 創建緩存依賴 385
11.5 自定義緩存依賴 386
11.5.1 基本的自定義緩存依賴 386
11.5.2 使用消息隊列的自定義緩存依賴 387
11.6 異步頁麵 389
11.6.1 創建異步頁麵 390
11.6.2 在異步頁麵中查詢數據 392
11.6.3 錯誤處理 393
11.6.4 在異步任務中使用緩存 395
11.6.5 多異步任務和超時 397
11.7 總結 399
第12 章 文件和流 400
12.1 使用文件係統 400
12.1.1 Directory 類和File 類 400
12.1.2 DirectoryInfo 類和FileInfo 類 402
12.1.3 DriveInfo 類 404
12.1.4 使用Attributes 405
12.1.5 使用通配符過濾文件 407
12.1.6 獲取文件的版本信息 407
12.1.7 Path 類 408
12.1.8 文件瀏覽器 410
12.2 使用流讀寫文件 414
12.2.1 文本文件 415
12.2.2 二進製文件 416
12.2.3 上傳文件 417
12.2.4 使文件對多用戶安全 419
12.2.5 壓縮 423
12.3 序列化 423
12.4 總結 426
第13 章 LINQ 427
13.1 LINQ 基礎 427
13.1.1 延遲執行 429
13.1.2 LINQ 是如何工作的 429
13.1.3 LINQ 錶達式 430
13.1.4 揭秘LINQ 錶達式 436
13.2 LINQ to DataSet 439
13.2.1 強類型的DataSet 441
13.2.2 空值 441
13.3 LINQ to Entities 441
13.3.1 生成數據模型 442
13.3.2 數據模型類 442
13.3.3 實體關係 444
13.3.4 查詢存儲過程 446
13.3.5 LINQ to Entities 查詢揭秘 447
13.4 數據庫操作 452
13.4.1 插入 452
13.4.2 更新 454
13.4.3 刪除 454
13.4.4 管理並發 455
13.4.5 處理並發衝突 455
13.5 EntityDataSource 控件 459
13.5.1 顯示數據 459
13.5.2 獲取關聯數據 463
13.5.3 編輯數據 464
13.5.4 驗證 464
13.6 使用QueryExtender 控件 465
13.6.1 使用SearchExperssion 466
13.6.2 使用RangeExpression 467
13.6.3 使用PropertyExpression 467
13.6.4 使用MethodExpression 468
13.7 總結 468
第14 章 XML 470
14.1 什麼時候使用XML 470
14.2 XML 簡介 471
14.2.1 XML 的優點 472
14.2.2 格式良好的XML 472
14.2.3 XML 命名空間 473
14.2.4 XML 架構 474
14.3 基於流的XML 處理 475
14.3.1 寫XML 文件 476
14.3.2 讀取XML 文件 478
14.4 內存中的XML 處理 481
14.4.1 XmlDocument 482
14.4.2 XPathNavigator 485
14.4.3 XDocument 486
14.5 搜索XML 內容 491
14.5.1 搜索XmlDocument 491
14.5.2 使用XPath 搜索XmlDocument 493
14.5.3 使用LINQ 搜索XDocument 494
14.6 驗證XML 內容 496
14.6.1 基本架構 496
14.6.2 驗證XmlDocument 497
14.6.3 使用XDocument 進行驗證 498
14.7 轉換XML 內容 499
14.7.1 基本的樣式錶 499
14.7.2 使用XslCompiledTransform 500
14.7.3 使用Xml 控件 501
14.7.4 使用LINQ to XML 轉換XML 502
14.8 XML 數據綁定 504
14.8.1 非層次化綁定 504
14.8.2 使用XPath 506
14.8.3 嵌套的網格 508
14.8.4 使用TreeView 的層次化綁定 509
14.8.5 使用XSLT 511
14.8.6 綁定到來自其他源的XML內容 512
14.8.7 通過XmlDataSource更新XML 513
14.9 XML 和ADO.NET 數據集 513
14.9.1 把DataSet 轉換為XML 514
14.9.2 把DataSet 作為XML 訪問 515
14.10 總結 517
第三部分 構建ASP.NET 網站第15 章 用戶控件 520
15.1 用戶控件基礎 520
15.1.1 創建簡單的用戶控件 521
15.1.2 把頁麵轉換成用戶控件 522
15.2 為用戶控件添加代碼 523
15.2.1 處理事件 523
15.2.2 添加屬性 524
15.2.3 使用自定義對象 525
15.2.4 添加事件 528
15.2.5 公開內部Web 控件 530
15.3 動態加載用戶控件 531
15.4 局部頁麵緩存 534
15.4.1 VaryByControl 535
15.4.2 共享緩存控件 536
15.5 總結 537
第16 章 主題和母版頁 538
16.1 層疊樣式錶 538
16.1.1 創建樣式錶 538
16.1.2 應用樣式錶規則 540
16.2 主題 542
16.2.1 主題文件夾和外觀 543
16.2.2 應用簡單主題 544
16.2.3 處理主題衝突 545
16.2.4 為同一控件創建多個外觀 546
16.2.5 含有模闆和圖片的外觀 547
16.2.6 在主題裏使用CSS 549
16.2.7 通過配置文件來應用主題 549
16.2.8 動態應用主題 550
16.3 標準化網站布局 551
16.4 母版頁基礎 552
16.4.1 簡單的母版頁 552
16.4.2 簡單的內容頁 554
16.4.3 默認內容 556
16.4.4 具有錶格和CSS 布局的母版頁 556
16.4.5 母版頁和相對路徑 559
16.4.6 通過配置文件應用母版頁 559
16.5 高級母版頁 560
16.5.1 和母版頁類交互 560
16.5.2 動態設置母版頁 561
16.5.3 嵌套母版頁 561
16.6 總結 563
第17 章 網站導航 564
17.1 多視圖頁麵 564
17.1.1 MultiView 控件 565
17.1.2 Wizard 控件 568
17.2 站點地圖 575
17.2.1 定義站點地圖 576
17.2.2 綁定站點地圖 577
17.2.3 導航路徑 578
17.2.4 顯示站點地圖的一部分 580
17.2.5 站點地圖對象 583
17.2.6 加入自定義站點地圖信息 584
17.2.7 創建自定義的SiteMapProvider 584
17.2.8 安全調整 590
17.3 URL 映射和路由 592
17.3.1 URL 映射 592
17.3.2 URL 路由 593
17.4 TreeView 控件 594
17.4.1 TreeNode 595
17.4.2 按需填充節點 597
17.4.3 TreeView 樣式 598
17.5 Menu 控件 601
17.5.1 Menu 樣式 603
17.5.2 Menu 模闆 605
17.6 總結 606
第18 章 網站部署 607
18.1 安裝和配置IIS 607
18.1.1 安裝IIS 7 607
18.1.2 管理IIS 7 608
18.2 部署網站 610
18.2.1 通過復製文件進行部署 611
18.2.2 使用Web 部署 614
18.2.3 通過FTP 部署 621
18.3 管理網站 626
18.3.1 創建新站點 626
18.3.2 創建虛擬目錄 627
18.3.3 使用VirtualPathProvider 628
18.3.4 使用應用程序池 631
18.3.5 使用應用程序預熱 633
18.4 擴展集成管道 634
18.4.1 創建處理程序 634
18.4.2 部署處理程序 635
18.4.3 配置處理程序 635
18.4.4 測試處理程序 636
18.5 總結 636
第四部分 安 全
第19 章 ASP.NET 安全模型 638
19.1 為何創建安全軟件 638
19.1.1 理解潛在的威脅 638
19.1.2 安全編程原則 639
19.1.3 理解Gatekeeper 640
19.2 理解安全級彆 641
19.2.1 驗證 641
19.2.2 授權 642
19.2.3 機密性和完整性 643
19.2.4 互相協作 643
19.3 理解SSL 644
19.3.1 理解證書 645
19.3.2 理解SSL 645
19.3.3 在IIS 7.x 中配置SSL 646
19.4 總結 649
第20 章 錶單驗證 650
20.1 錶單驗證介紹 650
20.1.1 為什麼使用錶單驗證 650
20.1.2 為什麼不使用錶單驗證 652
20.1.3 為什麼不自己實現cookie驗證 653
20.1.4 錶單驗證類 654
20.2 實現錶單驗證 655
20.2.1 配置錶單驗證 655
20.2.2 禁止匿名用戶訪問 657
20.2.3 創建自定義登錄頁麵 658
20.2.4 自定義憑證存儲 662
20.2.5 錶單驗證中的持久化cookie 663
20.3 IIS 7.x 和錶單驗證 665
20.4 總結 669
第21 章 成員資格 670
21.1 介紹ASP.NET 的成員資格API 670
21.2 使用成員資格API 672
21.2.1 配置錶單驗證 673
21.2.2 創建數據存儲 674
21.2.3 配置連接字符串和成員資格提供程序 679
21.2.4 創建並驗證用戶 681
21.3 使用安全控件 683
21.3.1 Login 控件 684
21.3.2 LoginStatus 控件 693
21.3.3 LoginView 控件 693
21.3.4 PasswordRecovery 控件 694
21.3.5 ChangePassword 控件 697
21.3.6 CreateUserWizard 控件 698
21.4 在IIS 7.x 裏配置成員資格 702
21.4.1 配置提供程序和用戶 702
21.4.2 在其他應用程序裏使用成員資格API 703
21.5 使用Membership 類 705
21.5.1 從存儲中獲得用戶 706
21.5.2 更新存儲中的用戶 708
21.5.3 創建和刪除用戶 708
21.5.4 檢驗用戶 709
21.6 總結 709
第22 章 Windows 驗證 710
22.1 介紹Windows 驗證 710
22.1.1 為什麼使用Windows 驗證 710
22.1.2 為什麼不使用Windows驗證 711
22.1.3 Windows 驗證機製 712
22.2 實現Windows 驗證 717
22.2.1 配置IIS 7.x 717
22.2.2 配置ASP.NET 718
22.2.3 IIS 7.x 管道 719
22.2.4 禁止匿名用戶訪問 722
22.2.5 訪問Windows 用戶信息 723
22.3 身份模擬 727
22.3.1 Windows 中的身份模擬和委托 728
22.3.2 經過配置的身份模擬 729
22.3.3 可編程的身份模擬 729
22.4 總結 732
第23 章 授權和角色 733
23.1 URL 授權 733
23.2 文件授權 738
23.3 在代碼中檢查授權 739
23.3.1 使用IsInRole()方法 739
23.3.2 使用PrincipalPermission 類 740
23.4 為基於角色的授權使用角色API 742
23.4.1 和角色一起使用LoginView控件 747
23.4.2 通過編程訪問角色 748
23.4.3 在Windows 驗證中使用角色API 750
23.5 IIS 7.x 裏的授權和角色 752
23.5.1 在IIS 7.x 裏使用ASP.NET角色授權 754
23.5.2 在IIS 7.x 中管理ASP.NET角色 756
23.6 總結 757
第24 章 用戶配置 758
24.1 理解用戶配置 758
24.1.1 用戶配置的性能 758
24.1.2 用戶配置如何存儲數據 759
24.1.3 用戶配置和驗證 760
24.1.4 用戶配置與自定義的數據組件 760
24.2 使用SqlProfileProvider 761
24.2.1 創建用戶配置錶 761
24.2.2 配置提供程序 763
24.2.3 定義用戶配置屬性 764
24.2.4 使用用戶配置屬性 764
24.2.5 用戶配置序列化 766
24.2.6 用戶配置組 767
24.2.7 用戶配置和自定義的數據類型 768
24.2.8 用戶配置API 771
24.2.9 匿名用戶配置 773
24.3 自定義的用戶配置提供程序 775
24.3.1 自定義的用戶配置提供程序類 775
24.3.2 設計FactoredProfileProvider 777
24.3.3 通過編碼實現FactoredProfileProvider 778
24.3.4 測試FactoredProfileProvider 781
24.4 總結 784
第25 章 加密 785
25.1 加密數據:機密性問題 785
25.2 .NET 加密命名空間 786
25.3 理解.NET 加密類 789
25.3.1 對稱加密算法 790
25.3.2 非對稱加密 791
25.3.3 抽象加密類 791
25.3.4 ICryptoTransform 接口 792
25.3.5 CryptoStream 類 793
25.4 加密敏感數據 793
25.4.1 管理秘密信息 794
25.4.2 使用對稱算法 795
25.4.3 使用非對稱算法 799
25.4.4 加密數據庫中的敏感數據 801
25.5 加密查詢字符串 806
25.5.1 包裝查詢字符串 806
25.5.2 創建一個測試頁麵 808
25.6 總結 810
第26 章 自定義成員資格提供程序 811
26.1 自定義提供程序的架構 811
26.2 創建自定義提供程序的基本步驟 812
26.2.1 自定義提供程序的總體設計 813
26.2.2 設計並實現自定義存儲 813
26.2.3 實現提供程序類 820
26.2.4 使用自定義提供程序類 837
26.3 總結 840
第五部分 高級用戶界麵第27 章 自定義服務器控件 842
27.1 自定義服務器控件入門 842
27.1.1 創建簡單的自定義控件 842
27.1.2 使用自定義控件 844
27.1.3 工具箱中的自定義控件 845
27.1.4 創建支持樣式屬性的Web控件 847
27.1.5 呈現過程 850
27.2 處理不同的瀏覽器 852
27.2.1 HtmlTextWriter 852
27.2.2 瀏覽器檢測 852
27.2.3 瀏覽器屬性 853
27.2.4 覆蓋瀏覽器類型偵測 854
27.2.5 自適應呈現 855
27.3 控件狀態和事件 856
27.3.1 視圖狀態 856
27.3.2 控件狀態 858
27.3.3 迴傳數據和change 事件 860
27.3.4 觸發迴傳 862
27.4 擴展現有的Web 控件 863
27.4.1 組閤控件 864
27.4.2 派生控件 866
27.5 總結 869
第28 章 圖形、GDI+和圖錶 870
28.1 ImageMap 控件 870
28.1.1 創建熱點 871
28.1.2 處理熱點單擊 872
28.1.3 自定義熱點 873
28.2 使用GDI+畫圖 875
28.2.1 簡單繪製 875
28.2.2 圖像格式和質量 877
28.2.3 Graphics 類 878
28.2.4 使用GraphicsPath 880
28.2.5 畫筆 881
28.2.6 畫刷 883
28.3 在網頁上嵌入動態圖形 885
28.3.1 使用PNG 格式 885
28.3.2 傳遞信息給動態圖像 886
28.3.3 使用GDI+的自定義控件 888
28.4 使用Chart 控件 892
28.4.1 創建基本的圖錶 892
28.4.2 用數據填充圖錶 897
28.5 總結 904
第29 章 JavaScript 和Ajax 技術 905
29.1 JavaScript 本質 905
29.1.1 HTML DOM 906
29.1.2 客戶端事件 906
29.1.3 腳本塊 908
29.1.4 操縱HTML 元素 910
29.1.5 調試JavaScript 910
29.2 基本的JavaScript 示例 912
29.2.1 創建JavaScript 頁麵處理器 912
29.2.2 使用JavaScript 異步下載圖片 915
29.2.3 呈現腳本塊 919
29.3 腳本注入攻擊 920
29.3.1 請求驗證 921
29.3.2 禁用請求驗證 922
29.3.3 擴展請求驗證 923
29.4 帶有JavaScript 的自定義控件 925
29.4.1 彈齣窗口 925
29.4.2 滾動按鈕 928
29.5 框 架 931
29.5.1 框架導航 932
29.5.2 內聯框架 933
29.6 理解Ajax 934
29.6.1 XMLHttpRequest 對象 935
29.6.2 Ajax 示例 936
29.7 在客戶端迴調中使用Ajax 939
29.7.1 創建客戶端迴調 940
29.7.2 深入瞭解客戶端迴調 945
29.7.3 自定義控件裏的客戶端迴調 946
29.8 總結 949
第30 章 ASP.NET AJAX 950
30.1 介紹ASP.NET AJAX 950
30.1.1 客戶端的ASP.NET AJAX:腳本庫 951
30.1.2 服務器端的ASP.NET AJAX:ScriptManager 952
30.2 服務器迴調 952
30.2.1 ASP.NET AJAX 中的Web服務 953
30.2.2 在頁麵裏放置Web 方法 959
30.2.3 ASP.NET AJAX 應用程序服務 960
30.3 ASP.NET AJAX 服務器控件 966
30.3.1 使用UpdatePanel 的局部呈現 966
30.3.2 使用Timer 的定時刷新 973
30.3.3 使用UpdateProgress 的耗時更新 974
30.3.4 管理瀏覽器曆史 976
30.4 深入客戶端庫 979
30.4.1 理解客戶端模型 980
30.4.2 JavaScript 的麵嚮對象編程 981
30.4.3 網頁框架 987
30.5 控件擴展器 991
30.5.1 安裝ASP.NET AJAX 控件工具包 992
30.5.2 AutoCompleteExtender 993
30.5.3 ASP.NET AJAX 控件工具包 996
30.6 總結 999
第31 章 使用Web 部件頁麵的門戶網站 1000
31.1 典型門戶頁麵 1000
31.2 基本Web 部件頁麵 1002
31.2.1 創建頁麵設計 1002
31.2.2 WebPartManager 和WebPartZone 1003
31.2.3 嚮頁麵添加Web 部件 1004
31.2.4 定製頁麵 1008
31.3 創建Web 部件 1010
31.3.1 簡單的Web 部件任務 1010
31.3.2 開發高級Web 部件 1017
31.3.3 Web 部件編輯器 1024
31.3.4 連接Web 部件 1029
31.3.5 自定義動詞和Web 部件 1036
31.3.6 用戶控件和高級Web 部件 1037
31.3.7 動態上傳Web 部件 1040
31.3.8 對Web 部件的授權 1044
31.3.9 個性化的最後任務 1045
31.4 總結 1046
第32 章 MVC 1047
32.1 MVC 和Web 錶單的選擇 1047
32.2 創建基本的MVC 應用程序 1047
32.2.1 創建模型 1048
32.2.2 創建控製器 1049
32.2.3 創建Index 視圖 1050
32.2.4 測試(未完成的)應用程序 1050
32.2.5 完成控製器和視圖 1051
32.2.6 修改Site.Master 文件 1053
32.3 擴展基礎的MVC 應用程序 1053
32.3.1 配置路由 1054
32.3.2 增加錯誤處理 1055
32.3.3 增加驗證 1056
32.3.4 增強數據存儲訪問 1057
32.3.5 增加對外鍵約束的支持 1059
32.4 自定義視圖 1059
32.4.1 修改視圖 1060
32.4.2 增加視圖數據 1062
32.5 強化模型 1063
32.6 驗證數據 1066
32.6.1 執行基本的驗證 1067
32.6.2 增加驗證標注 1068
32.7 使用動作結果 1071
32.7.1 返迴JSON 數據 1072
32.7.2 調用其他控製器方法 1072
32.8 總結 1074
第33 章 動態數據 1075
33.1 創建動態數據應用程序 1075
33.1.1 創建動態數據網站 1075
33.1.2 檢驗動態數據網站 1077
33.2 深入理解動態數據項目 1080
33.3 自定義動態數據網站 1080
33.3.1 使用模闆進行自定義 1081
33.3.2 使用路由進行自定義 1087
33.3.3 使用元數據進行自定義 1094
33.3.4 自定義驗證 1099
33.4 總結 1103
第34 章 Silverlight 1104
34.1 理解Silverlight 1105
34.1.1 Silverlight 與Flash 對比 1106
34.1.2 Silverlight 係統需求 1107
34.2 創建Silverlight 解決方案 1108
34.2. 1 Silverlight 編譯 1109
34.2.2 入口頁麵 1110
34.3 創建Silverlight 項目 1114
34.3.1 設計Silverlight 頁麵 1114
34.3.2 理解XAML 1117
34.3.3 設置屬性 1118
34.3.4 XAML 代碼隱藏 1119
34.3.5 處理事件 1120
34.3.6 瞭解Silverlight 類庫 1121
34.4 布局 1122
34.4.1 Canvas 1123
34.4.2 網格 1127
34.5 動畫 1131
34.5.1 動畫基礎知識 1132
34.5.2 定義動畫 1132
34.5.3 StoryBoard 類 1133
34.5.4 交互式動畫實例 1135
34.5.5 變換 1138
34.6 Silverlight 使用Web 服務 1141
34.6.1 創建Web 服務 1141
34.6.2 添加Web 引用 1142
34.6.3 調用Web 服務 1143
34.6.4 配置Web 服務URL 1144
34.6.5 跨域Web 服務調用 1144
34.7 總結 1146
· · · · · · (
收起)