編輯推薦
來自.NET專傢的指南
在微軟平颱上構建可維護、與標準兼容且運行的Web應用
ASP.NET MVC 5框架是微軟ASP.NET Web平颱的新進展。它提供瞭高生産率的編程模型,結閤ASP.NET的全部優勢,使代碼架構更整潔,可進行測試驅動開發,並使程序有強大的可擴展性。
通過本書你將學到:
獲得對ASP.NET MVC 5體係構架的完整理解
瞭解第ASP.NET MVC 5的新特性以及如何將這些新特性運用於開發
瞭解MVC及測試驅動開發的實際運作
充分利用已有的知識快速而方便地將傳統的ASP.NET與ASP.NET MVC 5的特性進行比較
本書講解瞭ASP.NET MVC 5的所有特點,包括用C#屬性定義路由以及重寫過濾器的技術等,構建MVC應用程序的用戶體驗也有本質上的改進。本書還涉及流行的Bootstrap JavaScript庫,該庫現已被納入到MVC 5之中,為開發人員提供更廣泛的多平颱CSS和HTML 5選項,而不必像以前那樣去加載大量的第三方庫。
內容簡介
ASP.NET MVC 5框架是微軟ASP.NET Web平颱的新進展。它提供瞭高生産率的編程模型,結閤ASP.NET的全部優勢,促成更整潔的代碼架構、測試驅動開發和強大的可擴展性。
本書涵蓋ASP.NET MVC 5的所有開發優勢技術,包括用C#屬性定義路由技術及重寫過濾器技術等。且構建MVC應用程序的用戶體驗也有本質上的改進。其中書裏也專一講解瞭用新Visual Studio 2013創建MVC應用程序時的技術和技巧。本書包括完整的開發工具介紹以及對代碼進行輔助編譯和調試的技術。
本書還涉及流行的Bootstrap JavaScript庫,該庫現已被納入到MVC 5之中,為開發人員提供更廣泛的多平颱CSS和HTML5選項,而不必像以前那樣去加載大量的第三方庫。
本書適閤程序員、Web開發者學習,也適閤作為大中專院校相關專業的師生用書和培訓學校的教材。
作者簡介
李萍,鹽城工學院教師,碩士,長期從事計算機專業的教學與科研工作,是印度NIIT雙語教學認證教師。主要研究領域:大型Web數據庫應用與設計、計算機應用與開發。承擔瞭本書全部譯文的校對與文字修訂工作。
目錄
第1章 ASP.NET MVC背景 1
1.1 理解ASP.NET曆史 1
1.2 當今的Web開發 3
1.2.1 Web標準與REST 3
1.2.2 敏捷與測試驅動開發 3
1.2.3 Ruby on Rails 4
1.2.4 Node.js 4
1.3 ASP.NET MVC的關鍵優點 5
1.3.1 MVC的體係結構 5
1.3.2 可擴展性 5
1.3.3 HTML和HTTP上的嚴密控製 6
1.3.4 可測試性 6
1.3.5 強大的路由係統 7
1.3.6 建立在ASP.NET平颱的精華之上 7
1.3.7 現代API 7
1.3.8 ASP.NET MVC是開源的 8
1.4 本書的預備知識 8
1.5 本書的結構 8
1.5.1 第1部分:ASP.NET MVC 5導論 8
1.5.2 第2部分:ASP.NET MVC細節 8
1.6 本版的新特點 9
1.7 獲取示例代碼 9
1.8 本書所需的軟件 10
1.9 誠信 10
1.10 小結 10
第2章 第一個MVC應用程序 11
2.1 準備Visual Studio 11
2.2 創建新的ASP.NET MVC項目 11
2.2.1 添加第一個控製器 13
2.2.2 理解路由 16
2.3 渲染Web頁麵 16
2.3.1 創建並渲染視圖 16
2.3.2 添加動態輸齣 20
2.4 創建一個簡單的數據錄入應用程序 21
2.4.1 設置場景 21
2.4.2 設計一個數據模型 22
2.4.3 鏈接動作方法 23
2.4.4 建立錶單 25
2.4.5 設置啓動URL 27
2.4.6 處理錶單 28
2.4.7 添加驗證 31
2.4.8 設置內容樣式 35
2.4.9 完成示例 40
2.5 小結 41
第3章 MVC模式 42
3.1 MVC簡史 42
3.2 理解MVC模式 42
3.2.1 理解域模型 43
3.2.2 MVC的ASP.NET實現 44
3.2.3 MVC與其他模式比較 44
3.3 建立鬆耦閤組件 47
3.3.1 使用依賴項注入 48
3.3.2 使用依賴項注入容器 49
3.4 自動測試初步 50
3.4.1 理解單元測試 51
3.4.2 理解集成測試 55
3.5 小結 56
第4章 基本語言特性 57
4.1 準備示例項目 57
4.2 使用自動實現的屬性 59
4.3 使用對象與集閤的初始化器 62
4.4 使用擴展方法 64
4.4.1 對接口運用擴展方法 65
4.4.2 創建過濾擴展方法 67
4.5 使用lambda錶達式 69
4.6 使用自動類型接口 72
4.7 使用匿名類型 72
4.8 執行語言集成查詢(LINQ) 74
4.9 使用Async方法 78
4.10 小結 81
第5章 使用Razor 82
5.1 準備示例項目 82
5.1.1 定義模型 82
5.1.2 定義控製器 83
5.1.3 創建視圖 83
5.2 使用模型對象 84
5.3 使用布局 86
5.3.1 創建布局 86
5.3.2 運用布局 88
5.3.3 使用視圖起始文件 88
5.3.4 演示共享布局 89
5.4 使用Razor錶達式 92
5.4.1 插入數據值 93
5.4.2 設置標簽屬性的值 94
5.4.3 使用條件語句 96
5.4.4 枚舉數組和集閤 98
5.4.5 處理命名空間 99
5.5 小結 100
第6章 MVC基本工具 101
6.1 準備示例項目 102
6.1.1 創建模型類 102
6.1.2 添加控製器 103
6.1.3 添加視圖 104
6.2 使用Ninject 104
6.2.1 理解問題 105
6.2.2 將Ninject添加到Visual Studio項目 106
6.2.3 Ninject初步 107
6.2.4 建立MVC的依賴項注入 108
6.2.5 創建依賴項鏈 111
6.2.6 指定屬性和構造器參數值 112
6.2.7 使用條件綁定 114
6.2.8 設置對象作用域 115
6.3 Visual Studio的單元測試 117
6.3.1 創建單元測試項目 117
6.3.2 添加單元測試 119
6.3.3 運行單元測試(並失敗) 122
6.3.4 實現特性 123
6.3.5 測試並修正代碼 123
6.4 使用Moq庫 124
6.4.1 理解問題 125
6.4.2 將Moq添加到Visual Studio項目 126
6.4.3 對單元測試添加模仿對象 126
6.4.4 創建更復雜的模仿對象 129
6.5 小結 131
第7章 SportsStore:一個真正的應用程序 132
7.1 開始 133
7.1.1 創建Visual Studio解決方案和項目 133
7.1.2 安裝工具包 134
7.1.3 添加項目之間的引用 135
7.1.4 設置DI容器 135
7.1.5 運行應用程序 136
7.2 從域模型開始 137
7.2.1 創建抽象存儲庫 137
7.2.2 創建模仿存儲庫 138
7.3 顯示産品列錶 139
7.3.1 添加控製器 139
7.3.2 添加布局、視圖起始文件及視圖 140
7.3.3 設置默認路由 142
7.3.4 運行應用程序 143
7.4 準備數據庫 143
7.4.1 創建數據庫 144
7.4.2 定義數據庫方案 145
7.4.3 嚮數據庫添加數據 147
7.4.4 創建Entity Framework上下文 148
7.4.5 創建Product存儲庫 149
7.5 添加分頁 151
7.5.1 顯示頁麵鏈接 152
7.5.2 改進URL 160
7.6 設置內容樣式 161
7.6.1 安裝Bootstrap包 161
7.6.2 在布局中運用Bootstrap樣式 162
7.6.3 創建分部視圖 163
7.7 小結 165
第8章 SportsStore:導航 166
8.1 添加導航控件 166
8.1.1 過濾産品列錶 166
8.1.2 調整URL方案 170
8.1.3 建立分類導航菜單 172
8.1.4 修正頁麵計數 178
8.2 創建購物車 180
8.2.1 定義購物車實體 180
8.2.2 添加“加入購物車”按鈕 184
8.2.3 實現購物車控製器 185
8.2.4 顯示購物車內容 186
8.3 小結 188
第9章 SportsStore:完成購物車 189
9.1 使用模型綁定 189
9.2 完成購物車功能 193
9.2.1 刪除購物車物品 194
9.2.2 添加購物車摘要 195
9.3 遞交訂單 197
9.3.1 擴充域模型 197
9.3.2 添加結算過程 198
9.3.3 實現訂單處理器 203
9.3.4 注冊接口實現 206
9.3.5 完成購物車控製器 207
9.3.6 顯示驗證錯誤 210
9.3.7 顯示緻謝頁麵 212
9.4 小結 212
第10章 SportsStore:移動版 213
10.1 移動Web開發的背景 213
10.2 使用響應式設計 214
10.2.1 創建響應式頁頭 215
10.2.2 創建響應式的産品列錶 218
10.3 創建移動專用的內容 225
10.3.1 創建移動布局 225
10.3.2 創建移動視圖 226
10.4 小結 229
第11章 SportsStore:管理 230
11.1 添加分類管理 230
11.1.1 創建CRUD控製器 230
11.1.2 創建新的布局 232
11.1.3 實現List視圖 233
11.1.4 編輯産品 236
11.1.5 創建新産品 248
11.1.6 刪除産品 251
11.2 小結 253
第12章 SportsStore:安全性與收尾工作 254
12.1 實現管理控製器的安全 254
12.1.1 創建基本的安全策略 254
12.1.2 運用過濾器進行授權 256
12.1.3 創建認證提供器 257
12.1.4 創建Account控製器 259
12.1.5 創建視圖 260
12.2 圖像上傳 263
12.2.1 擴展數據庫 263
12.2.2 增強域模型 263
12.2.3 創建上傳用戶界麵的元素 264
12.2.4 將圖像保存到數據庫 266
12.2.5 實現GetImage動作方法 268
12.2.6 顯示産品圖像 270
第13章 部署 272
13.1 Windows Azure的準備 273
13.1.1 創建Web網站和數據庫 273
13.1.2 準備遠程管理數據庫 275
13.1.3 創建數據庫模式 275
13.2 部署應用程序 278
13.3 小結 280
第14章 MVC項目綜述 281
14.1 使用Visual Studio的MVC項目 281
14.1.1 創建項目 281
14.1.2 理解MVC約定 284
14.2 調試MVC應用程序 286
14.2.1 準備示例項目 286
14.2.2 運行Visual Studio調試器 288
14.2.3 引發Visual Studio調試器中斷 290
14.2.4 使用編輯並繼續 293
14.3 使用瀏覽器鏈接 296
14.4 小結 297
第15章 URL路由 298
15.1 創建示例項目 299
15.1.1 創建示例控製器 299
15.1.2 創建視圖 300
15.1.3 設置起始URL並測試應用程序 301
15.2 URL模式 301
15.3 創建並注冊一條簡單路由 303
15.4 定義默認值 308
15.5 使用靜態URL片段 310
15.6 定義自定義片段變量 313
15.6.1 用自定義變量作為動作方法參數 315
15.6.2 定義可選URL片段 316
15.6.3 定義可變長路由 318
15.6.4 按命名空間區分控製器優先順序 319
15.7 約束路由 322
15.7.1 用正則錶達式約束路由 322
15.7.2 將一條路由約束到一組指定的值 323
15.7.3 使用HTTP方法約束路由 324
15.7.4 定義自定義約束 327
15.8 使用屬性路由 329
15.8.1 啓用和運用屬性路由 329
15.8.2 使用片段變量創建路由 331
15.8.3 運用路由約束 332
15.8.4 使用Route Prefix 333
15.9 小結 334
第16章 高級路由特性 335
16.1 準備示例項目 335
16.1.1 簡化路由 336
16.1.2 添加優化包 336
16.1.3 更新單元測試項目 336
16.2 在視圖中生成輸齣URL 337
16.2.1 用路由係統生成輸齣URL 337
16.2.2 以其他控製器為目標 339
16.2.3 傳遞額外的值 341
16.2.4 指定HTML標簽屬性 343
16.2.5 生成鏈接中的全限定URL 343
16.2.6 生成URL(而不是鏈接) 344
16.2.7 在動作方法中生成輸齣URL 345
16.2.8 根據指定路由生成URL 346
16.3 定製路由係統 347
16.3.1 創建自定義的RouteBase實現 347
16.3.2 創建自定義路由處理程序 352
16.4 使用區域 353
16.4.1 創建一個區域 353
16.4.2 填充區域 355
16.4.3 解析不明確的控製器問題 356
16.4.4 使用屬性創建區域 357
16.4.5 生成對區域動作的鏈接 358
16.5 對磁盤文件進行路由請求 359
16.5.1 配置應用程序服務器 360
16.5.2 為磁盤文件定義路由 361
16.6 繞過路由係統 362
16.7 URL方案最佳做法 363
16.7.1 使URL整潔和人性化 363
16.7.2 GET和POST:選用正確的一個 364
16.8 小結 364
第17章 控製器和動作 365
17.1 準備示例項目 365
17.2 控製器介紹 366
17.2.1 使用IController創建控製器 366
17.2.2 創建派生於Controller類的控製器 368
17.3 接收請求數據 370
17.3.1 通過上下文對象獲取數據 370
17.3.2 使用動作方法參數 371
17.4 産生輸齣 373
17.4.1 理解動作結果 375
17.4.2 通過渲染視圖返迴HTML 378
17.4.3 將數據從動作方法傳遞給視圖 381
17.4.4 執行重定嚮 385
17.4.5 返迴錯誤及HTTP代碼 389
17.5 小結 391
第18章 過濾器 392
18.1 準備示例項目 392
18.2 使用過濾器 394
18.2.1 過濾器類型介紹 396
18.2.2 將過濾器運用於控製器和動作方法 396
18.3 使用授權過濾器 397
18.3.1 運用自定義授權過濾器 399
18.3.2 使用內建的授權過濾器 399
18.4 使用認證過濾器 400
18.4.1 理解IAuthenticationFilter接口 400
18.4.2 實現認證檢查 402
18.4.3 組閤認證和授權過濾器 404
18.4.4 處理最終有疑問的請求 405
18.5 使用異常過濾器 406
18.5.1 創建異常過濾器 406
18.5.2 運用異常過濾器 407
18.5.3 使用視圖來響應異常 409
18.5.4 使用內建的異常過濾器 411
18.6 使用動作過濾器 414
18.6.1 實現OnActionExecuting方法 414
18.6.2 實現OnActionExecuted方法 416
18.7 使用結果過濾器 417
18.8 使用其他過濾器特性 420
18.8.1 無注解屬性的過濾 420
18.8.2 使用全局過濾器 422
18.8.3 對過濾器執行進行排序 424
18.8.4 重載過濾器 426
18.9 小結 428
第19章 控製器可擴展性 429
19.1 準備示例項目 430
19.2 創建自定義控製器工廠 431
19.2.1 處理備用控製器 433
19.2.2 實例化控製器類 434
19.2.3 實現其他接口方法 434
19.2.4 注冊自定義控製器工廠 435
19.3 使用內建的控製器工廠 435
19.3.1 命名空間優先排序 436
19.3.2 定製DefaultControllerFactory的控製器實例化 437
19.4 創建自定義動作調用器 439
19.5 使用內建的動作調用器 441
19.5.1 使用自定義動作名 441
19.5.2 使用動作方法選擇 443
19.6 用特殊控製器改善性能 447
19.6.1 使用無會話控製器 448
19.6.2 使用異步控製器 450
19.7 小結 454
第20章 視圖 455
20.1 創建自定義視圖引擎 455
20.1.1 準備示例項目 458
20.1.2 創建自定義的IView 458
20.1.3 創建IViewEngine實現 459
20.1.4 注冊自定義視圖引擎 460
20.1.5 測試視圖引擎 461
20.2 使用Razor引擎 462
20.2.1 準備示例項目 462
20.2.2 理解Razor視圖渲染 463
20.2.3 配置視圖搜索位置 464
20.3 對Razor視圖添加動態內容 467
精通 ASP.NET MVC 5 epub pdf mobi txt 電子書 下載 2024
精通 ASP.NET MVC 5 下載 epub mobi pdf txt 電子書