內 容 簡 介
本書從最基本的概念出發,深入地講解了
C#的基礎知識以及新特性。全書分別介紹了ASP NET和C#語言基礎知識、面向對象編程、數組與集合、ASP NET伺服器控制項、ADO NET資料庫訪問、數據控制項、頁面設計、AJAX技術、LINQ查詢技術以及配置和部署網站。本書基於Visual Studio 2008環境下開發ASP NET應用程式,詳細介紹了如何使用C#開發控制台、類庫以及Web網站等應用程式;使用ADO NET進行資料庫連線及訪問;使用數據控制項進行數據綁定及操作;使用母版頁、內容頁和頁面導航控制項進行頁面設計;使用LINQ查詢方法和查詢語句進行集合、資料庫查詢;以及配置、部署和發布網站等內容。
本書重點突出、偏重套用,結合理論篇的實例和實踐篇對貫穿案例的講解、剖析及實現,實踐篇貫穿案例HR系統採用分層框架,貫穿ASP NET的技術知識點,使讀者加深對ASP NET技術的套用,並迅速理解和掌握ASP NET知識,全面提高動手能力。
本書適應面廣,可作為本科計算機科學與技術、軟體外包專業、高職高專計算機軟體、計算機網路、計算機信息管理、電子商務和經濟管理等專業的程式設計課程的教材。
前 言
隨著IT產業的迅猛發展,企業對套用型人才的需求越來越大。“全面貼近企業需求,無縫打造專業實用人才”是目前高校計算機專業教育的革新方向。
該系列教材是面向高等院校軟體專業方向的標準化教材。教材研發充分結合軟體企業的用人需求,經過了充分的調研和論證,並充分參照多所高校一線專家的意見,具有系統性、實用性等特點。旨在使讀者在系統掌握軟體開發知識的同時,著重培養其綜合套用能力和解決問題的能力。
該系列教材具有如下幾個特色。
1. 以套用型人才為導向來培養學生
強調實踐:本系列教材以套用型軟體及外包人才為培養目標,在原有體制教育的基礎上對課程進行了改革,強化“套用型”技術的學習。使學生在經過系統、完整的學習後能夠達到如下要求:
具備軟體開發工作所需的理論知識和操作技能,能熟練進行編碼工作,並掌握軟體開發過程的規範;
具備一定的項目經驗,包括代碼的調試、文檔編寫、軟體測試等內容;
相當於一年的軟體開發經驗。
2. 以實用技能為核心來組織教學
二八原則:遵循企業生產過程中的“二八原則”,即企業生產過程中80%的時間在使用20%的核心技術,強調核心教學,即學生在學校用80%的學習時間來掌握企業中所用到的核心技術,從而保證對企業常用技術的掌握。教材內容精而專,同時配以知識拓展和拓展練習,以滿足不同層次的教學和學習需求。
3. 以新穎的教材架構來引導學習
自成體系:本系列教材採用的教材架構打破了傳統的以知識為標準編寫教材的方法,採用“全真案例”和“任務驅動”的組織模式。
理論篇:即最小教學集,包含了“二八原則”中提到的常用技術,以任務驅動引導知識點的學習,所選任務不但典型、實用,而且具有很強的趣味性和可操作性,引導學生循序漸進地理解和掌握這些知識和技能,培養學生的邏輯思維能力,掌握利用開發語言進行程式設計的必備知識和技巧。
實踐篇:多點於一線,以完整的具體案例貫穿始終,力求使學生在動手實踐的過程中,加深課程內容的理解,培養學生獨立思考和解決問題的能力,並配備相關知識的拓展講解和拓展練習,拓寬學生的知識面。
結構靈活:本系列教材在內容設定上借鑑了軟體開發中“低耦合高內聚”的設計理念,組織架構上遵循軟體開發中的MVC理念,即在課程的實施過程中各高校可根據自身的實際情況(課程配比、時間安排、學生水平、教學情況等),在保證最小教學集的前提下可對整個課程體系進行橫向(章節內容)、縱向(章節)裁剪。
4. 提供全面的教輔產品來輔助教學實施
為充分體現“實境耦合”的教學模式,方便教學實施,另外還開發了可配套使用的項目實訓教材和全套教輔產品,可供各院校選購:
項目篇:多線於一面,以輔助教材的形式,提供適應當前課程(及先行課程)的綜合項目,遵循軟體開發過程,進行講解、分析、設計、指導,注重工作過程的系統性,培養學生解決實際問題的能力,是實施“實境”教學的關鍵環節。
立體配套:為適應教學模式和教學方法的改革,本系列教材提供完備的教輔產品,主要包括教學指導、實驗指導、電子課件、習題集、實踐案例等內容,並配以相應的網路教學資源。教學實施方面,提供全方位的解決方案(課程體系解決方案、實訓解決方案、教師培訓解決方案和就業指導解決方案等),以適應軟體開發教學過程的特殊性。
本系列教材由青島東合信息技術有限公司和青島海爾軟體有限公司共同研製,歷時兩年,參與編著的有韓敬海、丁春強、趙克玲、高峰、張幼鵬、張旭平、孫更新、賓晟、胡芳、侯天超、邵峰晶、於忠清、張磊、曹寶香、崔文善、王成端等。本書的特約策劃人為呂蕾女士。參與本書編寫工作的還有:青島農業大學、濰坊學院、青島大學、山東科技大學、曲阜師範大學、濟寧學院、中國海洋大學、濟寧醫學院等高校,期間得到了各合作院校專家及一線教師的大力支持和協作。在此技術叢書出版之際要特別感謝給予我們開發團隊大力支持和幫助的領導及同事,感謝合作院校的師生給予我們的支持和鼓勵,更要感謝開發團隊每一位成員所付出的艱辛勞動。
iTeacher@ 教研組
2011年6月
目 錄
理論篇 1
第1章 ASP NET概述 2
1.1 .NET框架 4
1.1.1 .NET框架結構 4
1.1.2 .NET公共語言運行庫 5
1.1.3 MSIL和JIT 6
1.1.4 C#與.NET框架 7
1.1.5 C#語言的特點 7
1.1.6 .NET框架應用程式種類 8
1.2 ASP NET技術 9
1.2.1 ASP NET特點 9
1.2.2 ASP NET的命名空間 10
1.2.3 ASP NET控制項種類 11
1.3 第一個C#程式 12
1.3.1 C#程式結構 12
1.3.2 C#代碼注釋 13
1.3.3 HelloWorld示例 14
小結 15
練習 15
第2章 C#語言基礎 16
2.1 變數和常量 18
2.1.1 變數 18
2.1.2 常量 19
2.2 數據類型 19
2.2.1 值類型 19
2.2.2 引用類型 21
2.2.3 裝箱和拆箱 21
2.3 運算符和表達式 22
2.3.1 運算符的類別 22
2.3.2 算術運算符 23
2.3.3 賦值運算符 24
2.3.4 關係運算符 24
2.3.5 邏輯運算符 25
2.3.6 三元運算符 25
2.3.7 運算符優先權 26
2.4 語句 28
2.4.1 分支結構 28
2.4.2 循環結構 32
2.4.3 轉移語句 35
2.4.4 lock語句 37
2.4.5 using語句 37
2.5 異常處理 38
小結 40
練習 41
第3章 C#面向對象編程 42
3.1 類 44
3.1.1 定義類 44
3.1.2 構造函式和析構函式 45
3.1.3 欄位 48
3.1.4 屬性 49
3.1.5 方法 50
3.1.6 this關鍵字 53
3.2 訪問修飾符 54
3.3 繼承 56
3.3.1 C#中繼承的實現 56
3.3.2 base關鍵字 58
3.3.3 方法的重寫 59
3.3.4 密封類和密封方法 61
3.4 接口 62
3.5 字元串 64
3.5.1 字元串基礎 64
3.5.2 String類 64
3.5.3 StringBuilder類 66
3.5.4 格式化 67
小結 71
練習 71
第4章 數組與集合 73
4.1 數組 75
4.2 Array類 78
4.3 類庫中的集合 81
4.3.1 ArrayList類 82
4.3.2 Stack類 83
4.3.3 Queue類 85
4.3.4 Hashtable類 86
4.3.5 SortedList類 87
小結 88
練習 89
第5章 ASP NET初步 90
5.1 ASP NET頁面 92
5.1.1 頁面開發模式 92
5.1.2 頁面生命周期 95
5.1.3 頁面事件 96
5.1.4 頁面指令 98
5.1.5 頁面注釋 98
5.2 ASP NET頁面內置對象 100
5.2.1 Response對象 100
5.2.2 Request對象 102
5.2.3 Session對象 103
5.2.4 Application對象 107
5.2.5 Cookie對象 110
5.2.6 Server對象 112
小結 113
練習 114
第6章 ASP NET伺服器控制項 115
6.1 伺服器控制項 117
6.1.1 伺服器控制項簡介 117
6.1.2 伺服器控制項分類 117
6.2 Web伺服器控制項 119
6.2.1 文本控制項 120
6.2.2 控制權轉移控制項 121
6.2.3 選擇控制項 123
6.2.4 容器控制項 128
6.3 HTML伺服器控制項 133
6.3.1 HTML伺服器控制項簡介 133
6.3.2 HtmlForm控制項 134
6.3.3 HtmlImage控制項 135
6.4 驗證控制項 135
6.4.1 RequiredFieldValidator控制項 136
6.4.2 CompareValidator控制項 137
6.4.3 RangeValidator控制項 138
6.4.4 RegularExpressionValidator控制項 139
6.4.5 CustormValidator控制項 140
6.4.6 ValidationSummary控制項 142
小結 143
練習 144
第7章 ADO NET資料庫訪問 145
7.1 ADO NET簡介 147
7.2 ADO NET結構 147
7.2.1 ADO NET結構原理和核心組件 147
7.2.2 ADO NET中的命名空間和類 149
7.3 ADO NET核心對象 150
7.3.1 Connection 150
7.3.2 Command 153
7.3.3 DataReader 155
7.3.4 DataAdapter 159
7.3.5 DataSet 159
小結 163
練習 164
第8章 數據控制項 165
8.1 數據控制項概述 167
8.1.1 數據源控制項 167
8.1.2 數據綁定控制項 167
8.2 SqlDataSource控制項 168
8.3 GridView控制項 171
8.3.1 GridView數據綁定 172
8.3.2 GridView列類型 177
8.3.3 GridView事件 177
8.3.4 GridView數據操作 178
8.4 DetailsView控制項 182
8.4.1 DetailsView列類型 182
8.4.2 DetailsView事件 183
8.4.3 DetailsView數據操作 184
小結 192
練習 192
第9章 頁面設計 194
9.1 母版頁和內容頁 196
9.1.1 母版頁 196
9.1.2 內容頁 199
9.2 站點導航 201
9.2.1 站點導航簡介 201
9.2.2 TreeView控制項 202
9.2.3 SiteMapPath控制項 204
9.2.4 Menu控制項 206
9.3 主題與皮膚 208
9.3.1 主題與皮膚簡介 208
9.3.2 主題定義和套用 209
小結 212
練習 213
第10章 AJAX技術 214
10.1 ASP NET AJAX技術簡介 216
10.1.1 AJAX簡介 216
10.1.2 ASP NET AJAX技術 218
10.2 AJAX核心控制項 218
10.2.1 ScriptManager控制項 219
10.2.2 UpdatePanel控制項 219
10.2.3 UpdateProgress控制項 223
10.2.4 Timer控制項 226
小結 228
練習 229
第11章 LINQ查詢技術 230
11.1 LINQ簡介 232
11.1.1 LINQ組成 232
11.1.2 LINQ示例 233
11.2 Lambda表達式 235
11.3 LINQ查詢方法 236
11.3.1 Select() 236
11.3.2 Where() 237
11.3.3 OrderBy() 238
11.3.4 GroupBy() 239
11.3.5 高級查詢方法 241
11.4 LINQ查詢語句 243
11.4.1 LINQ查詢關鍵字 244
11.4.2 常用的LINQ查詢語句 244
11.4.3 查詢方法 VS 查詢語句 250
11.5 LINQ to SQL查詢 250
小結 253
練習 254
第12章 配置和部署網站 255
12.1 配置檔案 257
12.1.1 配置檔案簡介 257
12.1.2 常用的配置元素 258
12.2 安裝和部署ASP NET應用程式 263
12.2.1 創建ASP NET安裝項目 263
12.2.2 部署ASP NET應用程式 265
小結 267
練習 268
實踐篇 269
實踐1 ASP NET概述 270
實踐指導 270
實踐1.G.1 270
實踐1.G.2 273
實踐1.G.3 275
實踐1.G.4 279
知識拓展 283
1. C#的WinForm應用程式開發 283
2. C#程式代碼的調試 285
3. 設定C#代碼編輯器格式 287
4. VS2008快捷鍵 289
拓展練習 289
練習1.E.1 289
實踐2 C#基礎訓練 290
實踐指導 290
實踐2.G.1 290
實踐2.G.2 290
實踐2.G.3 291
實踐2.G.4 293
實踐2.G.5 295
實踐2.G.6 298
實踐2.G.7 299
知識拓展 303
1. 抽象類和抽象方法 303
2. 結構 305
3. 枚舉 306
拓展練習 306
練習2.E.1 306
實踐3 ASP NET初步 307
實踐指導 307
實踐3.G.1 307
實踐3.G.2 310
實踐3.G.3 312
知識拓展 317
1. 泛型 317
2. 匿名方法 318
3. 推斷類型var 319
拓展練習 320
練習3.E.1 320
實踐4 ASP NET伺服器控制項 321
實踐指導 321
實踐4.G.1 321
實踐4.G.2 324
實踐4.G.3 331
實踐4.G.4 334
知識拓展 339
1. AdRotator控制項 339
2. Calendar控制項 340
3. 用戶控制項和自定義伺服器控制項 342
拓展練習 350
練習4.E.1 350
實踐5 ADO NET資料庫訪問 351
實踐指導 351
實踐5.G.1 351
實踐5.G.2 354
實踐5.G.3 364
知識拓展 366
1. DataView 366
2. 連線Access資料庫 368
3. 連線Oracle資料庫 372
拓展練習 372
練習5.E.1 372
實踐6 數據控制項 373
實踐指導 373
實踐6.G.1 373
實踐6.G.2 401
知識拓展 417
1. DataList控制項的使用 417
2. Repeater控制項 420
拓展練習 421
練習6.E.1 421
實踐7 頁面設計 422
實踐指導 422
實踐7.G.1 422
實踐7.G.2 425
實踐7.G.3 434
實踐7.G.4 442
知識拓展 455
1. 檔案上傳 455
拓展練習 457
練習7.E.1 457
實踐8 AJAX技術 458
實踐指導 458
實踐8.G.1 458
實踐8.G.2 470
實踐8.G.3 483
實踐8.G.4 489
知識拓展 506
1. AJAX擴展控制項 506
2. Accordion控制項 509
拓展練習 511
練習8.E.1 511
實踐9 LINQ查詢技術 512
實踐指導 512
實踐9.G.1 512
實踐9.G.2 517
實踐9.G.3 522
實踐9.G.4 528
實踐9.G.5 533
實踐9.G.6 539
知識拓展 542
1. 語言集成查詢(LINQ to XML) 542
拓展練習 544
練習9.E.1 544
實踐10 配置和部署網站 545
實踐指導 545
實踐10.G.1 545
實踐10.G.2 549
知識拓展 551
1. 頁面跟蹤 551
2. 應用程式跟蹤 554
3. 快取 555
拓展練習 559
練習10.E.1 559
附錄A ADO NET的關鍵字 560
附錄B ADO NET命名空間中的類 561