前 言
緻 謝
第一部分 asp.net開發基礎
第0章 預備課:學習從這裏開始 2
0.1 認識microsoft.net 2
0.2 asp.net的特點 3
0.3 asp.net的版本變遷 4
0.3.1 asp.net 1.0與asp.net1.1 4
0.3.2 asp.net 2.0 5
0.3.3 asp.net 3.5 6
0.4 asp.net 4為我們帶來瞭什麼 7
0.4.1 microsoft visual studio 2010集成開發環境 7
0.4.2 asp.net核心服務 9
0.4.3 asp.net web窗體 12
0.4.4 動態數據 17
0.4.5 asp.net chart控件 18
0.4.6 microsoft ajax的功能 18
0.4.7 asp.net mvc 19
0.5 microsoft visual studio 2010集成開發環境 19
0.5.1 解決方案資源管理器 19
.0.5.2 控件工具箱 19
0.5.3 服務器資源管理器 20
0.5.4 錯誤列錶與任務列錶 20
0.5.5 頁麵設計窗口與代碼編輯窗口 21
0.6 本章小結 22
第1章 開發你的第一個asp.net應用—“hello,world” 23
1.1 創建“hello,world”web應用程序 23
1.1.1 創建解決方案和asp.net web應用程序 23
1.1.2 創建“hello,world”web頁麵 28
1.1.3 編譯運行程序 33
1.1.4 調試運行程序 34
1.2 asp.net網頁代碼模型 36
1.2.1 單文件頁模型 36
1.2.2 代碼隱藏頁模型 38
1.2.3 選擇屬於自己的頁模型 39
1.3 asp.net生命周期 39
1.3.1 iis 6.0 的asp.net應用程序生命周期 39
1.3.2 iis 7.0 的asp.net應用程序生命周期 42
1.3.3 asp.net頁麵生命周期 43
1.3.4 用程序來演示asp.net頁麵生命周期 44
1.4 asp.net配置 46
1.4.1 machine.config文件 46
1.4.2 web.config文件 47
1.4.3 web.config轉換文件 47
1.4.4 locator特性語法 50
1.4.5 transform特性語法 52
1.4.6 web.config文件的配置繼承 54
1.4.7 在實際開發中常用的web.config配置節設置 54
1.4.8 通過編程讀寫web.config配置節 56
1.5 全局應用程序類global.asax 58
1.5.1 global.asax的事件 58
1.5.2 在global.asax文件裏實現通用防sql注入漏洞程序 60
1.6 新建web網站與新建web應用程序的區彆 63
1.7 本章小結 64
第2章 html服務器控件 65
2.1 asp.net服務器控件概述 65
2.1.1 asp.net服務器控件的類型 65
2.1.2 asp.net服務器控件的類層次結構 66
2.2 html服務器控件概述 68
2.2.1 html標簽和html服務器控件之間的區彆 68
2.2.2 html服務器控件的類層次結構 68
2.2.3 html服務器控件的共有屬性 70
2.3 html輸入控件 71
2.3.1 htmlinputbutton控件 71
2.3.2 htmlinputsubmit和htmlinputreset控件 73
2.3.3 htmlinputimage控件 73
2.3.4 htmlinputradiobutton控件 73
2.3.5 htmlinputcheckbox控件 74
2.3.6 htmlinputtext和htmlinputpassword控件 75
2.3.7 htmlinputfile控件 76
2.3.8 htmlinputhidden控件 77
2.4 html容器控件 78
2.4.1 htmltextarea控件 78
2.4.2 htmlselect控件 79
2.5 htmlimage控件 80
2.5.1 htmlimage控件的使用方法 80
2.5.2 使用數據流的形式輸齣圖片 81
2.6 使用代碼處理html服務器控件 82
2.6.1 設置style特性和其他屬性 82
2.6.2 attributes屬性使用說明 82
2.6.3 用程序動態創建控件 83
2.7 本章小結 84
第3章 web標準服務器控件 86
3.1 web標準服務器控件概述 86
3.1.1 web標準服務器控件的功能 86
3.1.2 與html服務器控件的區彆 86
3.1.3 webcontrol基類 87
3.1.4 單位 87
3.1.5 枚舉 88
3.1.6 顔色 88
3.1.7 字體 89
3.1.8 默認按鈕 90
3.2 數據顯示控件 90
3.2.1 label控件 90
3.2.2 literal控件 91
3.3 數據輸入控件 92
3.3.1 textbox控件 92
3.3.2 checkbox控件 93
3.3.3 checkboxlist控件 93
3.3.4 radiobutton控件 94
3.3.5 radiobuttonlist控件 95
3.4 數據提交控件 95
3.4.1 button控件 96
3.4.2 imagebutton控件 96
3.4.3 linkbutton控件 97
3.5 圖像顯示控件 97
3.5.1 image控件 97
3.5.2 imagemap控件 98
3.6 文件上傳控件 100
3.6.1 使用fileupload控件上傳文件 100
3.6.2 文件的類型上傳限製 102
3.6.3 文件的大小上傳限製 103
3.7 calendar控件 104
3.8 hyperlink控件 106
3.9 panel控件 107
3.10 hiddenfield控件 109
3.11 adrotator控件 111
3.12 本章小結 113
第4章 asp.net驗證控件 114
4.1 驗證控件概述 114
4.1.1 驗證控件的類型 114
4.1.2 basevalidator類 115
4.1.3 驗證流程 116
4.2 錶單驗證控件:requiredfieldvalidator 117
4.3 範圍驗證控件:rangevalidator 119
4.4 比較驗證控件:comparevalidator 120
4.5 正則驗證控件:regularxpressionvalidator 122
4.6 自定義邏輯驗證控件:customvalidator 123
4.7 驗證信息顯示:validationsummary 124
4.8 驗證控件編程實踐 126
4.8.1 以編程方式驗證asp.net服務器控件 126
4.8.2 開發自己的文本驗證控件 127
4.8.3 引用自定義服務器控件的方法 130
4.9 驗證組 132
4.10 本章小結 134
第5章 asp.net用戶控件 135
5.1 用戶控件詳解 135
5.2 @control指令 136
5.3 創建簡單的用戶控件 136
5.3.1 創建一個簡單的用戶控件 137
5.3.2 將頁麵轉換為用戶控件 139
5.4 用戶控件編程 142
5.4.1 處理用戶控件事件 143
5.4.2 給用戶控件添加屬性 144
5.4.3 使用自定義對象 145
5.4.4 給用戶控件添加事件 148
5.4.5 公開內部web服務器控件 151
5.4.6 以編程的方式動態加載用戶控件 152
5.5 clientidmode屬性 153
5.6 本章小結 155
第二部分 asp.net數據訪問
第6章 asp.net數據管理 158
6.1 ado.net概述 158
6.1.1 ado.net數據提供程序 158
6.1.2 ado.net數據提供程序的核心對象 160
6.1.3 ado.net基本類庫 160
6.2 connection類 162
6.2.1 連接字符串 162
6.2.2 連接字符串和配置文件 165
6.2.3 打開與關閉連接 165
6.3 連接池 167
6.3.1 什麼是連接池 167
6.3.2 連接池如何工作 168
6.3.3 連接池中的連接 171
6.3.4 連接遺漏 172
6.3.5 自定義連接池的實現類 173
6.4 command類和datareader類 176
6.4.1 command類概述 176
6.4.2 創建command對象 177
6.4.3 datareader類概述 178
6.4.4 executereader()方法 179
6.4.5 executescalar()方法 182
6.4.6 executenonquery()方法 182
6.4.7 sql注入攻擊 183
6.4.8 sql注入攻擊的防範 185
6.5 常用的數據庫操作 187
6.5.1 使用數據庫函數 187
6.5.2 使用觸發器 188
6.5.3 使用存儲過程 189
6.6 事務 194
6.6.1 事務概述 194
6.6.2 .net事務的類型劃分 195
6.6.3 存儲過程事務 195
6.6.4 ado.net本地事務 196
6.6.5 隔離級彆 198
6.6.6 sql server保存點 203
6.6.7 system.transactions 204
6.6.8 com+事務 208
6.7 非連接的數據概述 212
6.8 datatable類 213
6.8.1 datatable類概述 214
6.8.2 構建和操作datatable 214
6.8.3 使用dataadapter填充datatable 222
6.8.4 使用datareader填充datatable 224
6.9 dataset類 224
6.9.1 使用dataadapter填充dataset 224
6.9.2 使用多個錶和關係 225
6.10 dataview類 227
6.10.1 排序數據 227
6.10.2 過濾數據 228
6.10.3 計算列 229
6.10.4 將dataset、datatable和dataview轉換成xml 230
6.10.5 將xml轉換成dataset、datatable 235
6.11 提供程序無關的代碼 238
6.12 本章小結 244
第7章 數據控件綁定與操作 245
7.1 list數據控件 245
7.1.1 list數據控件的共有屬性與方法 246
7.1.2 dropdownlist控件 247
7.1.3 radiobuttonlist與checkboxlist控件 250
7.1.4 listbox控件 251
7.1.5 bulletedlist控件 252
7.2 detailsview控件 254
7.2.1 數據綁定 254
7.2.2 定義字段 255
7.2.3 分頁 256
7.2.4 添加、修改和刪除 257
7.2.5 樣式定義 262
7.3 formview控件 263
7.4 repeater控件 267
7.5 listview控件 268
7.5.1 定義模闆 268
7.5.2 分頁 271
7.5.3 排序 273
7.5.4 編輯數據 274
7.6 datalist控件 277
7.7 chart控件 280
7.8 本章小結 286
第8章 詳解gridview控件 287
8.1 gridview控件基礎 287
8.1.1 數據綁定 287
8.1.2 定義列 288
8.2 格式化gridview 290
8.2.1 格式化字段 291
8.2.2 格式化特定值 292
8.3 樣式定義 294
8.4 gridview控件的基本操作 297
8.4.1 數據分頁 298
8.4.2 數據排序 299
8.4.3 創建空錶頭 300
8.4.4 編輯數據 303
8.5 選擇行 306
8.5.1 rowdatabound事件 306
8.5.2 selectedindexchanging與selectedindexchanged事件 308
8.5.3 將數據字段用做選擇按鈕 308
8.5.4 在gridview中保持行選擇 309
8.6 gridview模闆 309
8.6.1 定義gridview模闆 310
8.6.2 綁定方法 311
8.6.3 處理事件 311
8.6.4 使用模闆編輯 312
8.7 gridview的常用編程技巧 315
8.7.1 gridview實現多錶頭 315
8.7.2 gridview實現數據統計 322
8.7.3 gridview導齣數據 323
8.8 本章小結 324
第9章 linq查詢基礎 325
9.1 linq查詢概述 325
9.1.1 查詢數組 326
9.1.2 查詢數據庫 327
9.1.3 linq查詢語法概述 329
9.2 linq基本子句 329
9.2.1 from查詢子句 330
9.2.2 select選擇子句 331
9.2.3 where條件子句 332
9.2.4 orderby排序子句 332
9.2.5 group分組子句 333
9.2.6 into聯接子句 334
9.2.7 join聯接子句 335
9.2.8 let臨時錶達式子句 337
9.3 linq查詢操作 338
9.3.1 查詢操作概述 338
9.3.2 篩選操作 340
9.3.3 投影操作 340
9.3.4 排序操作 341
9.3.5 聚閤操作 342
9.3.6 集閤操作 343
9.3.7 元素操作 344
9.3.8 數據類型轉換操作 346
9.3.9 生成操作 346
9.3.10 限定符操作 346
9.3.11 連接操作 347
9.3.12 sequenceequal操作 348
9.3.13 contact操作 348
9.3.14 skip與skipwhile操作 348
9.3.15 take與takewhile操作 349
9.4 本章小結 349
第10章 linq to ado.net 350
10.1 linq to sql 350
10.1.1 datacontext類 350
10.1.2 延遲執行 361
10.1.3 自動生成數據類 364
10.1.4 處理關係 368
10.1.5 使用存儲過程 370
10.1.6 插入、更新與刪除操作 371
10.2 linq to dataset 373
10.2.1 linq to dataset概述 373
10.2.2 單錶查詢 374
10.2.3 交叉錶查詢 375
10.2.4 用查詢創建數據錶 377
10.2.5 修改錶中字段數據 378
10.3 queryextender控件 379
10.3.1 searchexpession 379
10.3.2 rangeexpression 381
10.3.3 propertyexpression 382
10.3.4 orderbyexpression 383
10.3.5 customexpression 385
10.4 本章小結 386
第11章 xml與linq to xml 387
11.1 xml概述 387
11.1.1 xml聲明 388
11.1.2 xml元素 388
11.1.3 xml節點 388
11.1.4 xml屬性 389
11.2 基於流的xml處理 389
11.2.1 xmltextwriter 389
11.2.2 xmltextreader 392
11.3 基於內存中的xml處理 394
11.3.1 xmldocument 394
11.3.2 用xpath搜索xmldocument 398
11.3.3 xpathnavigator 399
11.4 驗證xml 401
11.4.1 xml架構 402
11.4.2 驗證xmldocument 402
11.5 linq to xml 405
11.5.1 linq to xml類概述 405
11.5.2 創建xml 406
11.5.3 讀取與查詢xml 407
11.5.4 添加xml元素、屬性和節點 409
11.5.5 修改xml元素、屬性和節點 409
11.5.6 刪除xml元素、屬性和節點 411
11.6 本章小結 411
第12章 ado.net實體框架 412
12.1 理解ado.net實體框架 412
12.1.1 生成模型和映射 413
12.1.2 將概念模型映射到存儲模型 416
12.1.3 使用實體數據 419
12.1.4 ado.net實體框架的優點 421
12.2 linq to entities 421
12.2.1 簡單的對象查詢處理 422
12.2.2 排序、分組與聚閤數據 423
12.2.3 調用在數據庫中定義的自定義函數 425
12.2.4 調用在數據庫中定義的存儲過程 426
12.3 entity sql 428
12.4 操作對象 429
12.4.1 創建和添加對象 429
12.4.2 修改對象 430
12.4.3 刪除對象 430
12.4.4 保存更改和管理並發 431
12.5 本章小結 432
第三部分 構建asp.net站點
第13章 頁麵樣式與布局 434
13.1 在html中使用css的三種形式 434
13.1.1 內聯樣式錶 435
13.1.2 內部樣式錶 435
13.1.3 外部樣式錶 437
13.1.4 各種樣式錶的優先級 438
13.2 css基本語法 439
13.2.1 css語法結構 439
13.2.2 背景 443
13.2.3 字體 446
13.2.4 文本 448
13.3 css框模型 451
13.3.1 內邊距 452
13.3.2 邊框 453
13.3.3 外邊距 456
13.4 css定位 459
13.4.1 絕對定位 460
13.4.2 相對定位 461
13.4.3 固定定位 461
13.5 css浮動 461
13.5.1 float屬性 462
13.5.2 clear屬性 464
13.5.3 用float和clear創建三欄動態布局 465
13.6 在vs2010中編輯css 467
13.6.1 添加內聯樣式錶 467
13.6.2 添加外部樣式錶 468
13.7 常用頁麵布局標簽 469
13.7.1 錶格標簽 470
13.7.2 div標簽 473
13.8 本章小結 478
第14章 asp.net母版頁 479
14.1 母版頁基礎 479
14.1.1 創建簡單的母版頁 480
14.1.2 使用簡單的內容頁 482
14.1.3 contentplaceholder控件裏默認內容 485
14.1.4 相對路徑的處理 486
14.1.5 div+css方式布局母版頁 488
14.1.6 通過web.config文件全局設置母版頁 490
14.2 在母版頁和內容頁之間傳遞數據 491
14.2.1 使用page.master屬性 492
14.2.2 使用mastertype指令 492
14.2.3 使用masterpage.findcontrol方法 492
14.3 以編程方式設置母版頁 493
14.4 嵌套母版頁 493
14.4.1 一個嵌套母版頁示例 494
14.4.2 嵌套母版頁中的控件訪問 495
14.5 本章小結 497
第15章 主題和皮膚 498
15.1 使用asp.net中的主題 498
15.1.1 主題與css的區彆 498
15.1.2 主題文件夾和外觀 499
15.1.3 給單個asp.net頁麵應用主題 500
15.1.4 stylesheettheme屬性 501
15.1.5 把主題應用於整個應用程序 502
15.1.6 禁用服務器控件中的主題 503
15.1.7 禁用web頁麵上的主題特性 503
15.2 創建自己的主題 504
15.2.1 創建皮膚文件 504
15.2.2 在主題中包含css文件 506
15.2.3 在主題中包含圖像 508
15.3 定義多個皮膚選項 510
15.4 以編程的方式設置主題 511
15.4.1 編程指定頁麵的主題 512
15.4.2 編程指定控件的skinid 512
15.5 理解page和master頁麵的enabletheming屬性 512
15.6 本章小結 513
第16章 站點導航 514
16.1 多視圖頁麵 514
16.1.1 multiview控件 515
16.1.2 wizard控件 521
16.2 理解站點地圖 526
16.2.1 web.sitemap 文件 527
16.2.2 配置多個站點地圖 528
16.3 sitemapdatasource控件 529
16.3.1 綁定站點地圖 530
16.3.2 自定義顯示站點地圖 531
16.4 sitemappath控件 534
16.4.1 在網站導航中使用sitemappath控件 534
16.4.2 自定義鏈接樣式屬性 536
16.4.3 自定義模闆屬性 537
16.4.4 自定義顯示在鏈接之間的字符 538
16.4.5 反轉sitemappath控件所顯示的路徑的方嚮 538
16.4.6 限製顯示的父鏈接的數量 539
16.5 處理站點地圖文件 540
16.5.1 編程枚舉站點地圖節點 540
16.5.2 編程修改內存中的站點地圖節點 542
16.5.3 自定義站點地圖信息 543
16.6 自定義sitemapprovider從數據庫中讀取站點地圖數據結構 544
16.6.1 數據錶設計 544
16.6.2 定義sqlsitemapprovider 544
16.6.3 配置自定義站點地圖提供程序 549
16.7 站點地圖安全性調整 550
16.7.1 啓用安全性調整 550
16.7.2 使用角色 551
16.7.3 對多個站點地圖或提供程序使用安全性調整 552
16.7.4 性能注意事項 552
16.8 treeview控件 552
16.8.1 treeview結構 552
16.8.2 使用sitemapdatasource綁定treeview 554
16.8.3 使用程序動態建立treeview節點 554
16.8.4 使用xml數據源綁定treeview 556
16.8.5 使用數據庫綁定treeview 558
16.8.6 按需填充treeview 560
16.8.7 treeview樣式 562
16.8.8 添加復選框 565
16.9 menu控件 568
16.9.1 menu控件結構 568
16.9.2 menu控件顯示模式 569
16.9.3 從數據庫動態綁定menu控件 570
16.9.4 menu樣式 572
16.9.5 menu模闆 574
16.10 本章小結 575
第四部分 asp.net高級話題
第17章 asp.net狀態管理 578
17.1 asp.net狀態管理概述 578
17.1.1 服務器端狀態管理 578
17.1.2 客戶端狀態管理 579
17.2 response對象 580
17.3 request對象 582
17.4 server對象 584
17.5 cookie 586
17.5.1 創建cookie 587
17.5.2 控製cookie的範圍 588
17.5.3 讀取cookie 589
17.5.4 修改cookie 591
17.5.5 刪除cookie 591
17.5.6 cookie的優點與局限性 591
17.6 會話狀態 592
17.6.1 會話變量 592
17.6.2 會話標識符 593
17.6.3 會話狀態模式 594
17.6.4 會話狀態事件 608
17.6.5 會話狀態的生命周期 609
17.6.6 遍曆與銷毀會話狀態 610
17.6.7 會話狀態的優點與局限性 610
17.7 視圖狀態 611
17.7.1 寫入和讀取視圖狀態 611
17.7.2 保證視圖狀態的安全 612
17.7.3 視圖狀態的優點與局限性 613
17.7.4 viewstatemode 614
17.8 asp.net路由 614
17.8.1 路由與url模式 614
17.8.2 添加與使用路由 615
17.9 本章小結 617
第18章 自定義服務器控件 618
18.1 創建簡單的自定義服務器控件 618
18.1.1 創建mylink控件 619
18.1.2 創建支持樣式屬性的mylink控件 620
18.1.3 通過派生現有的控件來創建mylink控件 622
18.1.4 呈現過程 624
18.2 元數據特性 624
18.2.1 應用於控件的特性 625
18.2.2 應用於公共屬性的特性 626
18.2.3 應用於事件成員的特性 628
18.3 視圖狀態與控件狀態 628
18.4 事件處理 632
18.4.1 迴傳數據與change事件 632
18.4.2 觸發迴傳 634
18.5 簡單屬性和子屬性 635
18.5.1 定義mybook控件 636
18.5.2 定義子屬性author 639
18.5.3 定義類型轉換器authorconverter 641
18.5.4 使用mybook控件 643
18.6 集閤屬性 644
18.7 自定義狀態管理 648
18.7.1 定義mynewbook控件 649
18.7.2 定義子屬性statemanagedauthor 652
18.7.3 定義類型轉換器statemanagedauthorconverter 655
18.7.4 使用mynewbook控件 657
18.8 組閤式控件 658
18.9 本章小結 662
第19章 asp.net緩存 663
19.1 理解asp.net緩存 663
19.2 輸齣緩存 664
19.2.1 使用@outputcache指令以聲明的方式設置緩存 664
19.2.2 asp.net中的緩存配置 667
19.2.3 自定義緩存控製 668
19.2.4 使用httpcachepolicy類以編程的方式設置緩存 669
19.2.5 部分頁緩存 671
19.2.6 緩存後替換 672
19.2.7 檢查緩存頁的有效性 674
19.2.8 使用緩存鍵依賴項緩存頁輸齣 676
19.2.9 使用文件依賴項緩存頁輸齣 676
19.3 數據緩存 677
19.3.1 將項添加到緩存中 677
19.3.2 檢索緩存項的值 680
19.3.3 從緩存中刪除項 681
19.4 高級緩存依賴 681
19.4.1 sql server 2005與sql server 2008緩存依賴 681
19.4.2 自定義緩存依賴 685
19.5 自定義輸齣緩存提供程序 688
19.6 分布式緩存velocity 693
19.6.1 安裝與操作velocity 693
19.6.2 存儲與檢索簡單的數據 696
19.6.3 存儲與檢索復雜的數據 700
19.6.4 使用分區與標簽 704
19.6.5 鎖定模型 705
19.7 本章小結 706
第20章 多語言本地化應用程序 707
20.1 asp.net網頁資源 707
20.1.1 全局資源文件 709
20.1.2 本地資源文件 709
20.1.3 全局與本地資源文件使用建議 710
20.2 在網頁中使用資源 710
20.2.1 隱式本地化 710
20.2.2 顯式本地化 711
20.2.3 以編程方式檢索資源值 711
20.3 為不同的語言選擇資源文件 712
20.3.1 以聲明方式設置區域性和ui區域性 713
20.3.2 以編程方式設置區域性和ui區域性 714
20.3.3 顯式地選擇頁麵的顯示語言 714
20.4 cultureinfo類 716
20.4.1 cultureinfo類的方法 716
20.4.2 currentculture屬性 718
20.4.3 currentuiculture屬性 718
20.4.4 invariantculture屬性 719
20.4.5 其他屬性 719
20.5 system.globalization命名空間 720
20.5.1 日曆 720
20.5.2 日期和時間 722
20.5.3 數值型數據 726
20.5.4 數據的比較和排序 728
20.6 設置編碼 735
20.7 本章小結 735
第21章 asp.net web部件 736
21.1 什麼是web部件 736
21.2 web部件控件集 737
21.2.1 基本要素 737
21.2.2 控件概述 738
21.3 創建簡單的web部件頁麵 739
21.3.1 web部件的使用方法 739
21.3.2 web部件頁麵創建示例 740
21.3.3 web部件生命周期 747
21.4 頁顯示模式 749
21.4.1 browsedisplaymode(瀏覽模式) 749
21.4.2 designdisplaymode(設計模式) 749
21.4.3 editdisplaymode(編輯模式) 751
21.4.4 catalogdisplaymode(目錄模式) 755
21.4.5 connectdisplaymode(連接模式) 757
21.5 web部件的高級應用 758
21.5.1 自定義web部件 758
21.5.2 自定義謂詞 763
21.5.3 自定義編輯器 764
21.5.4 連接web部件 767
21.5.5 導齣導入web部件 773
21.5.6 自定義個性化數據提供程序 778
21.5.7 配置文件中的webparts元素 782
21.6 本章小結 783
· · · · · · (
收起)