産品特色
編輯推薦
本書麵嚮希望建立健壯的、高性能、可伸縮的Web應用程序的讀者。雖然開發工具運行在Microsoft Windows下,但可以把應用程序自由地部署到當前幾乎任何操作係統上。因此,甚至沒有Microsoft服務器的公司,現在也能運行ASP.NET Web應用程序。
軟件開發新手學習本書也應該不成問題,因為本書的結構很適閤初學者。經驗豐富、但不瞭解Web開發的人員,也會在本書中找到許多不同領域的興趣點和用法,尤其是當前不使用C#作為編程語言的人員。
內容簡介
通過專業的循序漸進指導學習使用Visual Studio 2015開發ASP.NET
ASP.NET允許程序員建立更動態的網站、Web應用和Web服務,包含瞭*新更新,什麼時間學習這門技術都為時不晚。ASP.NET和Visual Studio的*新版本能幫助開發人員提高效率,創建更強壯的應用程序,進一步拓寬技術。本書以循序漸進的方式提供瞭ASP.NET開發的專傢級指導,從框架的*基礎知識到高級的安全性和數據處理主題,應有盡有。通過清晰的示例闡述重要的技術。從頭到尾、詳盡的描述使本書成為一本非常有價值的多閤一參考書,適閤初學者和需要提高效率的開發人員閱讀。
主要內容
◆ 講解ASP.NET和Visual Studio 2015的基礎知識,並構建一個示例應用程序
◆ 演示使用HTML和CSS設計Web頁麵,包括高效的導航、用戶控件、一緻性等
◆ 從頭開始解釋C#和VB.NET編程,包括代碼的組織、麵嚮對象基礎和重要術語
◆ 討論ASP.NET Web Forms服務器控件和MVC輔助程序及擴展程序
◆ 探討使用ASP.NET AJAX、jQuery以及ADO.NET和Entity Framework進行高級數據處理
◆ 安全性、調試、部署、疑難解答等
內頁插圖
目錄
第1章 ASP.NET 6.0入門 1
1.1 ASP.NET vNEXT簡介 1
1.1.1 超文本傳輸協議 2
1.1.2 HTML5 4
1.1.3 ASP.NET Web Forms 8
1.1.4 ASP.NET MVC 12
1.1.5 Web Forms和MVC
的類似性 14
1.1.6 選擇最佳方法 14
1.2 使用Visual Studio 2015 14
1.2.1 版本 14
1.2.2 下載和安裝 15
1.3 示例應用程序 19
1.4 小結 19
1.5 練習 20
1.6 本章要點迴顧 20
第2章 建立最初的ASP.NET
應用程序 21
2.1 用Visual Studio 2015
創建Web站點 21
2.1.1 可用的項目類型 22
2.1.2 創建新站點 23
2.2 在應用程序中使用文件 29
2.2.1 ASP.NET MVC應用程序的
文件類型 30
2.2.2 ASP.NET MVC應用程序的
文件係統結構 32
2.2.3 ASP.NET Web Forms
應用程序的文件類型 33
2.3 MVC和Web Forms文件的
區彆 36
2.4 創建示例應用程序 37
2.5 小結 39
2.6 練習 39
2.7 本章要點迴顧 39
第3章 設計Web頁麵 41
3.1 HTML和CSS 41
3.1.1 同時使用HTML和
CSS的原因 42
3.1.2 CSS簡介 44
3.2 CSS的更多內容 47
3.2.1 選擇器 47
3.2.2 屬性 50
3.2.3 樣式的優先級 53
3.3 樣式錶 55
3.3.1 在頁麵中添加CSS 55
3.3.2 創建嵌入式樣式錶和
內聯樣式錶 58
3.4 應用樣式 58
3.5 管理樣式 63
3.6 小結 68
3.7 練習 69
3.8 本章要點迴顧 69
第4章 使用C#和VB.NET編程 71
4.1 編程簡介 71
4.1.1 數據類型和變量 72
4.1.2 轉換數據類型 76
4.1.3 使用數組和集閤 79
4.1.4 決策操作 83
4.1.5 循環 87
4.2 組織代碼 91
4.2.1 方法:函數和子例程 91
4.2.2 編寫注釋和文檔 93
4.3 麵嚮對象編程基礎 95
4.4 重要的麵嚮對象術語 95
4.4.1 類 95
4.4.2 字段 96
4.4.3 屬性 97
4.4.4 方法 100
4.4.5 構造函數 100
4.4.6 繼承 101
4.4.7 事件 103
4.5 小結 104
4.6 練習 105
4.7 本章要點迴顧 106
第5章 ASP.NET Web Forms
服務器控件 107
5.1 服務器控件簡介 107
5.2 在頁麵上定義控件 108
5.3 控件的類型 114
5.3.1 標準控件 114
5.3.2 HTML控件 118
5.3.3 數據控件 119
5.3.4 驗證控件 119
5.3.5 導航控件 120
5.3.6 登錄控件 120
5.3.7 AJAX擴展控件 120
5.3.8 其他控件集 121
5.4 ASP.NET狀態引擎 122
5.5 狀態引擎的工作方式 122
5.6 小結 130
5.7 練習 130
5.8 本章要點迴顧 131
第6章 ASP.NET MVC輔助程序和
擴展 133
6.1 MVC較少地控製
Web Forms的原因 134
6.2 不同的方法 134
6.2.1 Razor 137
6.2.2 控製器 141
6.3 錶單建立輔助程序 145
6.3.1 錶單擴展 145
6.3.2 Editor和EditorFor 147
6.3.3 模型綁定 147
6.4 小結 161
6.5 練習 162
6.6 本章要點迴顧 162
第7章 創建外觀一緻的網站 163
7.1 用母版頁使頁麵布局一緻 163
7.1.1 在ASP.NET Web Forms
中創建和使用母版頁 165
7.1.2 在ASP.NET Web Forms
中創建內容頁麵 173
7.1.3 在ASP.NET MVC中
創建布局 176
7.1.4 在ASP.NET MVC中
創建內容視圖 178
7.2 使用集中的基本頁麵 182
7.3 小結 187
7.4 練習 187
7.5 本章要點迴顧 187
第8章 導航 189
8.1 瀏覽站點的不同方式 190
8.1.1 理解絕對URL和
相對URL 190
8.1.2 理解默認文檔 192
8.1.3 友好的URL 193
8.2 使用ASP.NET Web Forms
導航控件 194
8.3 在ASP.NET MVC中導航 204
8.3.1 路由 204
8.3.2 創建導航結構 208
8.3.3 編程重定嚮 210
8.3.4 以編程方式把客戶
重定嚮到另一個頁麵 210
8.3.5 服務器端重定嚮 212
8.4 導航的實用須知 216
8.5 小結 216
8.6 練習 217
8.7 本章要點迴顧 217
第9章 顯示和更新數據 219
9.1 使用SQL Server Express 220
9.1.1 安裝 220
9.1.2 SQL Server Management
Studio 226
9.1.3 在Visual Studio中連接 230
9.2 數據訪問的Entity
Framework方法 233
9.2.1 數據優先 233
9.2.2 代碼優先 234
9.2.3 從數據庫中選擇數據 241
9.3 Web窗體中的數據控件 243
9.3.1 DetailsView 243
9.3.2 GridView控件 248
9.4 MVC中的數據顯示 254
9.4.1 在MVC中顯示列錶 254
9.4.2 DetailsViews 257
9.5 小結 260
9.6 練習 261
9.7 本章要點迴顧 261
第10章 處理數據 263
10.1 排序和分頁 264
10.1.1 Web Forms服務器
控件中的排序和分頁 264
10.1.2 MVC列錶中的排序和
分頁功能 268
10.2 更新和/或插入數據 277
10.3 數據庫訪問的非代碼
優先方式 284
10.4 緩存 293
10.4.1 在ASP.NET應用程序中
緩存數據的不同方式 293
10.4.2 緩存數據的常見問題 297
10.5 小結 297
10.6 練習 298
10.7 本章要點迴顧 298
第11章 用戶控件和局部視圖 301
11.1 用戶控件簡介 302
11.1.1 創建用戶控件 302
11.1.2 添加用戶控件 306
11.1.3 給用戶控件添加邏輯 313
11.2 使用局部視圖 318
11.2.1 添加局部視圖 319
11.2.2 管理局部視圖的
控製器 322
11.3 模闆 328
11.4 小結 334
11.5 練習 335
11.6 本章要點迴顧 335
第12章 驗證用戶輸入 337
12.1 從用戶那裏收集數據 337
12.2 在Web Forms中驗證
用戶輸入 338
12.3 在MVC中驗證用戶輸入 347
12.3.1 模型特性 347
12.3.2 客戶端驗證 353
12.3.3 ASP.NET MVC中的
請求驗證 361
12.4 驗證技巧 362
12.5 小結 362
12.6 練習 363
12.7 本章要點迴顧 364
第13章 ASP.NET AJAX 365
13.1 AJAX概念簡介 366
13.1.1 F12開發工具 367
13.1.2 在Web Forms中使用
ASP.NET AJAX 371
13.1.3 在MVC中使用AJAX 382
13.2 在AJAX網站中使用
Web服務 394
13.3 AJAX中的jQurey 400
13.4 AJAX的實用提示 405
13.5 小結 405
13.6 練習 406
13.7 本章要點迴顧 406
第14章 jQuery 409
14.1 jQuery簡介 409
14.1.1 早期的JavaScript 410
14.1.2 jQuery的作用 410
14.1.3 包括jQuery庫 412
14.1.4 包 414
14.2 jQuery語法 419
14.2.1 jQuery 核心 420
14.2.2 使用jQuery實用方法 420
14.2.3 使用jQuery選擇選項 422
14.3 使用jQuery修改DOM 425
14.3.1 使用jQuery改變外觀 425
14.3.2 處理事件 428
14.4 調試jQurey 436
14.5 jQuery的實用技巧 439
14.6 小結 440
14.7 練習 440
14.8 本章要點迴顧 441
第15章 ASP.NET網站的安全性 443
15.1 安全性簡介 444
15.1.1 身份:你是誰? 444
15.1.2 身份驗證:用戶如何證明
他們自己的身份? 444
15.1.3 授權:允許做什麼? 444
15.1.4 使用ASP.NET登錄 445
15.1.5 配置Web應用程序的
安全性 448
15.1.6 在應用程序中利用
用戶 457
15.2 角色 464
15.2.1 配置應用程序以
處理角色 465
15.2.2 編程檢查角色 469
15.3 安全性的實用技巧 473
15.4 小結 473
15.5 練習 474
15.6 本章要點迴顧 474
第16章 個性化網站 475
16.1 理解概要文件 476
16.1.1 創建概要文件 476
16.1.2 使用概要文件 483
16.2 個性化的實用技巧 494
16.3 小結 494
16.4 練習 495
16.5 本章要點迴顧 495
第17章 異常處理、調試和跟蹤 497
17.1 錯誤處理 498
17.1.1 不同類型的錯誤 498
17.1.2 捕獲並處理異常 502
17.1.3 全局錯誤處理和
定製的錯誤頁麵 510
17.1.4 控製器中的錯誤處理 515
17.2 調試基礎 516
17.2.1 調試的工具支持 517
17.2.2 調試客戶端腳本 524
17.3 跟蹤ASP.NET Web頁麵 533
17.3.1 給跟蹤添加自己的
信息 535
17.3.2 跟蹤和性能 538
17.4 日誌記錄 538
17.5 小結 541
17.6 練習 541
17.7 本章要點迴顧 542
第18章 使用源代碼控製 543
18.1 Team Foundation Services
簡介 543
18.1.1 使用源代碼控製的
原因 544
18.1.2 建立Visual Studio Online
賬戶 544
18.1.3 代碼的簽入和簽齣 549
18.1.4 與團隊成員閤作 557
18.2 分支和閤並 558
18.3 小結 559
18.4 練習 560
18.5 本章要點迴顧 560
第19章 部署網站 561
19.1 準備部署網站 562
19.1.1 避免硬編碼設置 562
19.1.2 Web.config 文件 563
19.1.3 錶達式語法 563
19.1.4 Web 配置管理器類 564
19.2 準備部署 569
19.3 發布站點 572
19.3.1 Web.config轉換 580
19.3.2 把數據移到遠程
服務器上 586
19.4 冒煙測試應用程序 592
19.5 進一步學習 594
19.6 小結 594
19.7 練習 595
19.8 本章要點迴顧 595
附錄 習題答案 597
前言/序言
據估計,截至2015年6月,世界人口的45%訪問過互聯網。互聯網用戶超過30億,而且這個數字還在不斷增加。這是一個巨大的互聯市場,可以得到我們需要的任何內容:可能是一個簡單的Web頁麵,也可能是一個復雜的Web應用程序。
使簡單的Web頁麵在綫有很多方法,但構建Web應用程序的方法就少很多。其中一種Web應用程序技術是Microsoft 的ASP.NET。
ASP.NET是一個框架,支持構建健壯、高效的Web應用程序。可以把它看成汽車的結構支撐。可在這個結構上添加兩種不同的設計:ASP.NET Web Forms 和 ASP.NET MVC。這兩種設計都建立在ASP.NET的基礎上,依賴通過ASP.NET使用的公共功能。
Visual Studio 2015是創建和維護ASP.NET Web應用程序的主要工具。它有助於輕鬆地處理Web應用程序從應用程序的“外觀和操作方式”一直到部署的各個方麵,並跳過之間的所有步驟。此外,因為Microsoft緻力於支持ASP.NET開發人員,所以它是功能全麵的免費版!
本書研究的是ASP.NET Web Forms 和 MVC。通過本書可以熟悉功能全麵的Web應用程序的各種組件,在學習開發流程的不同部分時,創建一個示例應用程序。我們將學習這兩個框架如何工作,其中一些方法非常相似,而另一些則完全不同。然而要清楚,無論方法如何,它們都建立在相同的框架上。
0.1 本書讀者對象
本書麵嚮希望建立健壯的、高性能、可伸縮的Web應用程序的讀者。雖然開發工具運行在Microsoft Windows下,但可以把應用程序自由地部署到當前幾乎任何操作係統上。因此,甚至沒有Microsoft服務器的公司,現在也能運行ASP.NET Web應用程序。
軟件開發新手學習本書也應該不成問題,因為本書的結構很適閤初學者。經驗豐富、但不瞭解Web開發的人員,也會在本書中找到許多不同領域的興趣點和用法,尤其是當前不使用C#作為編程語言的人員。
最後,有經驗的ASP.NET開發人員也可在本書中找到很多感興趣的話題,特彆是隻有Web Forms或MVC經驗(而不是兩者兼有)的開發人員。本書提供瞭這兩種方法的說明,還演示瞭如何將這兩種方法集成到一個應用程序中。
0.2 本書內容
本書講授如何構建功能齊全的Web應用程序。讀者將使用ASP.NET MVC和ASP.NET Web Forms方法建立一個完整站點,以理解、熟悉ASP.NET的全部功能。每一章都將開發過程推進一步:
● 第1章“ASP.NET 6.0入門”: 介紹ASP.NET通用框架,具體論述Web Forms和MVC,還要下載並安裝Visual Studio 2015。
● 第2章“建立最初的ASP.NET應用程序”:該章創建初始項目,包括進行配置,以支持Web Forms和MVC。
● 第3章“設計Web頁麵”:該章介紹HTML和CSS,以便建立有吸引力的、可以理解的網站。
● 第4章“使用C#和VB.NET編程”:ASP.NET是一個開發框架,在其中可以使用不同的編程語言,包括C#和VB.NET。該章介紹如何使用它們。
● 第5章“ASP.NET Web Forms服務器控件”:ASP.NET Web Forms以服務器控件的方式提供瞭許多不同形式的內置功能。這些控件允許用很少的代碼創建復雜、功能豐富的網站。該章包括瞭最常見的Web Forms服務器控件。
● 第6章“ASP.NET MVC輔助程序和擴展”:ASP.NET Web Forms 通過服務器控件提供功能,而ASP.NET MVC使用輔助程序和擴展提供瞭另一種支持,該章描述這種支持。
● 第7章“創建外觀一緻的網站”:該章將學習ASP.NET如何使用母版頁和布局頁麵,創建外觀和操作方式一緻的Web應用程序。
● 第8章“導航”:該章學習創建菜單和其他導航結構的不同方式,並瞭解可以在Web Forms和MVC中構建的不同類型的鏈接。
● 第9章“顯示和更新數據”:希望在ASP.NET中使用數據庫時,最好選擇SQL Server。該章將安裝SQL Server,創建初始數據庫模式,並在應用程序中創建和顯示數據。
● 第10章“處理數據”:本章介紹處理數據的高級主題,包括分頁、排序和使用高級數據庫元素,例如存儲過程等,從數據庫中檢索特定的信息集。還將學習如何將數據存儲在不同位置,縮短響應時間。
● 第11章“用戶控件和局部視圖”:ASP.NET通過服務器控件和輔助程序來提供內置功能。該章學習如何創建自己的項,來提供跨多個頁麵的公共功能。
● 第12章“驗證用戶輸入”:Web站點功能的主要部分是由用戶輸入到應用程序中的數據定義的。該章介紹如何使用Web Forms和MVC提供的工具,來接受、驗證和處理用戶輸入。
● 第13章“ASP.NET AJAX”:AJAX是一種技術,它允許更新頁麵的一部分,而無須嚮服務器調用整個頁麵。該章學習Web Forms和MVC是如何做到這一點的。
● 第14章“jQuery”:前麵的所有內容都基於服務器上的工作。該章介紹如何使用jQuery在客戶端工作,而不必迴調服務器。
● 第15章“ASP.NET網站的安全性”:該章增加瞭用戶的概念,演示瞭如何要求訪問者登錄應用程序,以識彆他們。
● 第16章“個性化網站”:該章將學習如何定製用戶信息,確保用戶在我們的網站上感到受歡迎。捕獲用戶的訪問信息還可以幫助更好地理解他們訪問網站時需要什麼。
● 第17章“異常處理、調試和跟蹤”:可惜,很難編寫齣完全沒有問題的代碼。該章學習如何處理這些問題,包括查找和修改它們,確保齣問題時,給用戶提供為什麼他們的操作沒有成功的相關信息。
● 第18章“使用源代碼控製”:在團隊中工作是成為專業開發人員的一個重要方麵。源代碼控製提供瞭一種在用戶之間共享代碼的方法。它也負責用保存好的版本備份源代碼的工作。
● 第19章“部署網站”:完成構建應用程序的所有工作後,最後一步是把它放在用戶可以訪問它的Web上!
0.3 本書結構
本書的主要教學方法是用一組詳細的實踐步驟帶領讀者構建一個完整的應用程序。這些“試一試”練習展示瞭所討論的主題,之後的“示例說明”部分解釋瞭每一步實現的功能。每個“試一試”部分都建立在之前的工作基礎上,所以應按順序完成。
章後的練習題測試讀者對相應章節內容的理解程度,答案在附錄中。一些練習題比較具體,其他練習題則一般化。它們旨在幫助讀者鞏固本章的內容。
本書包含大量內容,涵蓋瞭有時似乎完全不同的兩種技術方法。如果希望更詳細地瞭解某個方法或産品,可參閱章節中的額外信息源。
0.4 使用本書的條件
為瞭學習各章及其練習,需要:
● Windows 7、8或10,或者Windows Server 2008或2012
● 安裝Visual Studio 2015的最低要求,包括RAM和硬盤空間
0.5 源代碼
在讀者學習書中的示例時,可以手工輸入所有代碼,也可以使用本書附帶的源代碼文件。本書使用的所有源代碼都可以從www.wrox.com/go/beginningaspnetforvisualstudio下載。源代碼片段都附帶一個下載圖標和錶示程序名的注釋,這說明該代碼可以下載,而且很容易在下載文件中找到。登錄到站點,使用Search工具或使用書名列錶就可以找到本書。接著單擊本書細目頁麵上的Download Code鏈接,就可以獲得所有的源代碼。讀者還可訪問www.tupwk.com.cn/downpage來下載源代碼。
提示:
由於許多圖書的標題都很類似,所以按ISBN搜索是最簡單的,本書英文版的ISBN是978-1-119-07742-8。
下載代碼後,隻需要用自己喜歡的解壓縮軟件對它進行解壓縮即可。另外,也可以進入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代碼下載主頁,查看本書和其他Wrox圖書的所有代碼。
0.6 勘誤錶
盡管我們已經盡瞭各種努力來保證文章或代碼中不齣現錯誤,但錯誤總是難免的,如果你在書中找到瞭錯誤,例如拼寫錯誤或代碼錯誤,請告訴我們,我們將非常感激。通過勘誤錶,可以讓其他讀者避免受挫,當然,這還有助於提供更高質量的信息。
要在網站上找到本書英文版的勘誤錶,可以登錄http://www.wrox.com,通過Search工具或書名列錶查找本書,然後在本書的細目頁麵上,單擊Book Errata鏈接。在這個頁麵上可以查看到Wrox編輯已提交和粘貼的所有勘誤項。完整的圖書列錶還包括每本書的勘誤錶,網址是www.wrox.com/misc-pages/booklist.shtml。
如果在Book Errata頁麵上找不到自己找齣的“錯誤”,可以進入www.wrox.com/contact/ techsupport.shtml,完成錶單,給我們發送你找到的錯誤。我們就會檢查你的反饋信息,如果正確,就在本書的勘誤錶中發送一條消息,並在本書的後續版本中更正錯誤。
0.7 p2p.wrox.com
要與作者和同行討論,請加入p2p.wrox.com上的P2P論壇。這個論壇是一個基於Web的係統,便於你張貼與Wrox圖書相關的消息和相關技術,與其他讀者和技術用戶交流心得。該論壇提供瞭訂閱功能,當論壇上有新的消息時,它可以給你傳送感興趣的論題。Wrox作者、編輯和其他業界專傢和讀者都會到這個論壇上來探討問題。
在http://p2p.wrox.com上,有許多不同的論壇,它們不僅有助於閱讀本書,還有助於開發自己的應用程序。要加入論壇,可以遵循下麵的步驟:
(1) 進入p2p.wrox.com,單擊Register鏈接。
(2) 閱讀使用協議,並單擊Agree按鈕。
(3) 填寫加入該論壇所需要的信息和自己希望提供的其他信息,單擊Submit按鈕。
(4) 你會收到一封電子郵件,其中的信息描述瞭如何驗證賬戶,完成加入過程。
提示:
不加入P2P也可以閱讀論壇上的消息,但要張貼自己的消息,就必須加入該論壇。
加入論壇後,就可以張貼新消息,響應其他用戶張貼的消息。可以隨時在Web上閱讀消息。如果要讓該網站給自己發送特定論壇中的消息,可以單擊論壇列錶中該論壇名旁邊的Subscribe to this Forum圖標。
關於使用Wrox P2P的更多信息,可閱讀P2P FAQ,瞭解論壇軟件的工作情況以及P2P和Wrox圖書的許多常見問題。要閱讀FAQ,可以在任意P2P頁麵上單擊FAQ鏈接。