精通ASP.NET Core MVC 第7版 ( 簡體 字) |
作者:[美]亞當·弗里曼(Adam Freeman) | 類別:1. -> 程式設計 -> .NET -> ASP.NET |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 54609 詢問書籍請說出此書號!【有庫存】 NT售價: 850 元 |
出版日:6/1/2021 |
頁數:694 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115559616 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書詳細解釋ASP.NET Core MVC的架構、功能和應用,深入闡述構建現代可擴展的Web應用程序的工具、技術和方法,揭示如何為.NET Core平臺創建輕型的移動端應用程序。本書主要內容包括MVC模式、C#基本特性、Razor、Visual Studio、MVC應用程序的單元測試、實際應用程序的創建、URL路由、高級路由特性、控制器、依賴注入、過濾器、API控制器、視圖、視圖組件、標簽助手、模型綁定、模型驗證、ASP.NET Core Identity、模型約定和操作約束等。 本書適合.NET開發人員和 Web開發人員閱讀,也可供計算機相關專業的師生閱讀。 |
目錄:第 一部分 ASP.NET Core MVC
第 1章 ASP.NET Core MVC背景 2 1.1 ASP.NET Core MVC的歷史 2 1.1.1 ASP.NET Web Forms 2 1.1.2 起初的MVC框架 3 1.2 ASP.NET Core 3 1.2.1 ASP.NET Core MVC 2的新特性 4 1.2.2 ASP.NET Core MVC的主要優點 4 1.3 預備知識 6 1.4 本書的結構 6 1.5 如何獲取本書的示例代碼 6 1.6 聯系作者 6 1.7 小結 7 第 2章 首個MVC應用程序 8 2.1 安裝Visual Studio 8 2.2 安裝.NET Core 2.0 SDK 9 2.3 創建新的ASP.NET Core MVC項目 9 2.3.1 添加控制器 11 2.3.2 理解路由 13 2.4 渲染頁面 14 2.4.1 創建并渲染視圖 14 2.4.2 添加動態輸出 16 2.5 創建一個簡單的數據錄入程序 17 2.5.1 設置場景 17 2.5.2 設計數據模型 18 2.5.3 創建第二個操作和強類型視圖 18 2.5.4 鏈接操作方法 19 2.5.5 建立表單 20 2.5.6 接收表單數據 21 2.5.7 顯示響應 25 2.5.8 添加驗證 27 2.5.9 設置內容樣式 31 2.6 小結 35 第3章 MVC模式、項目與約定 36 3.1 MVC簡史 36 3.2 MVC模式 36 3.2.1 模型 36 3.2.2 控制器 37 3.2.3 視圖 37 3.2.4 MVC的ASP.NET實現 37 3.3 MVC與其他模式的比較 38 3.3.1 “智能UI”模式 38 3.3.2 理解模型-視圖架構 39 3.3.3 經典的3層架構 39 3.3.4 MVC的多樣性 40 3.4 ASP.NET Core MVC項目 40 3.4.1 創建項目 41 3.4.2 關于MVC的約定 43 3.5 小結 44 第4章 C#基本特性 45 4.1 準備示例項目 45 4.1.1 啟用ASP.NET Core MVC 46 4.1.2 創建MVC應用程序組件 47 4.2 運用null條件運算符 48 4.2.1 null條件運算符的連接運算 49 4.2.2 聯合使用null條件運算符和 null合并運算符 50 4.3 使用自動實現屬性 51 4.3.1 初始化自動實現屬性 51 4.3.2 創建只讀的自動實現屬性 52 4.4 使用字符串插值 53 4.5 使用對象和集合初始化器 54 4.6 模式匹配 56 4.7 使用擴展方法 58 4.7.1 將擴展方法應用于接口 59 4.7.2 創建過濾擴展方法 60 4.8 使用Lambda表達式 61 4.8.1 定義函數 63 4.8.2 使用Lambda表達式實現方法和 屬性 65 4.9 使用類型推斷和匿名類型 66 4.10 使用異步方法 68 4.10.1 直接使用任務 69 4.10.2 使用async和await關鍵字 70 4.11 獲取名稱 71 4.12 小結 72 第5章 使用Razor 73 5.1 準備示例項目 73 5.1.1 定義模型 74 5.1.2 創建控制器 74 5.1.3 創建視圖 75 5.2 使用模型對象 75 5.3 使用布局 78 5.3.1 創建布局 78 5.3.2 使用布局 80 5.3.3 應用視圖啟動文件 80 5.4 使用Razor表達式 81 5.4.1 插入數據 82 5.4.2 設置屬性值 83 5.4.3 使用條件語句 84 5.4.4 枚舉數組和集合 85 5.5 小結 86 第6章 使用Visual Studio 87 6.1 準備示例項目 87 6.1.1 創建模型 87 6.1.2 創建控制器和視圖 88 6.2 管理軟件包 89 6.2.1 NuGet 89 6.2.2 Bower 91 6.3 迭代開發 93 6.3.1 修改Razor視圖 93 6.3.2 對C#類進行更改 94 6.3.3 使用瀏覽器鏈接 99 6.4 部署JavaScript和CSS 102 6.4.1 啟用靜態內容傳遞 102 6.4.2 為項目添加靜態內容 103 6.4.3 更新視圖 104 6.4.4 MVC應用程序中的打包和 縮小 105 6.5 小結 108 第7章 對MVC應用程序進行 單元測試 109 7.1 準備示例項目 109 7.1.1 啟用內置的標簽助手 109 7.1.2 為控制器添加操作方法 110 7.1.3 創建數據輸入表單 110 7.1.4 更新Index視圖 111 7.2 測試MVC應用程序 112 7.2.1 創建單元測試項目 112 7.2.2 創建項目引用 113 7.2.3 編寫并運行單元測試 115 7.2.4 隔離組件以進行單元測試 116 7.3 改進單元測試 123 7.3.1 參數化單元測試 123 7.3.2 改進假的實現 126 7.4 小結 129 第8章 SportsStore應用程序 130 8.1 準備開始 130 8.1.1 創建MVC項目 130 8.1.2 創建單元測試項目 133 8.1.3 測試和啟動應用程序 134 8.2 開始領域模型開發 134 8.2.1 創建存儲庫 135 8.2.2 創建虛擬存儲庫 135 8.2.3 注冊存儲庫服務 136 8.3 顯示產品清單 137 8.3.1 添加一個控制器 137 8.3.2 添加并配置視圖 138 8.3.3 設置默認路由 139 8.3.4 運行應用程序 140 8.4 準備數據庫 140 8.4.1 安裝Entity Framework Core 工具包 141 8.4.2 創建數據庫類 141 8.4.3 創建存儲庫類 142 8.4.4 定義連接字符串 142 8.4.5 配置應用程序 143 8.4.6 創建數據庫遷移 145 8.4.7 創建種子數據 145 8.5 添加分頁 148 8.5.1 顯示頁面鏈接 149 8.5.2 改進URL 155 8.6 更改內容樣式 157 8.6.1 安裝Bootstrap包 157 8.6.2 將Bootstrap樣式應用于布局 157 8.6.3 創建分部視圖 159 8.7 小結 160 第9章 SportsStore的導航 161 9.1 添加導航控件 161 9.1.1 過濾產品列表 161 9.1.2 優化URL結構 164 9.1.3 構建類別導航菜單 167 9.1.4 更正頁數 172 9.2 構建購物車 174 9.2.1 定義購物車模型 174 9.2.2 添加Add To Cart按鈕 177 9.2.3 啟用會話 179 9.2.4 實現Cart控制器 180 9.2.5 顯示購物車的內容 181 9.3 小結 183 第 10章 完成購物車 184 10.1 使用服務優化購物車模型 184 10.1.1 創建支持存儲感知的Cart類 184 10.1.2 注冊服務 185 10.1.3 簡化Cart控制器 185 10.2 完成購物車功能 186 10.2.1 從購物車中刪除商品 186 10.2.2 添加購物車摘要小部件 188 10.3 提交訂單 190 10.3.1 創建模型類 190 10.3.2 添加結賬流程 191 10.3.3 實現訂單處理 193 10.3.4 完成Order控制器 195 10.3.5 顯示驗證錯誤 198 10.3.6 顯示摘要頁面 199 10.4 小結 199 第 11章 SportsStore的管理 200 11.1 管理訂單 200 11.1.1 增強模型 200 11.1.2 添加操作方法和視圖 201 11.2 添加目錄管理 203 11.2.1 創建CRUD控制器 203 11.2.2 實現列表視圖 205 11.2.3 編輯商品 206 11.2.4 創建新的商品 216 11.2.5 刪除商品 217 11.3 小結 220 第 12章 SportsStore的安全和部署 221 12.1 保護管理功能 221 12.1.1 創建身份標識數據庫 221 12.1.2 應用基本授權策略 224 12.1.3 創建賬戶控制器和視圖 226 12.1.4 測試安全策略 229 12.2 部署應用程序 229 12.2.1 創建數據庫 230 12.2.2 準備應用程序 231 12.2.3 應用數據庫遷移 234 12.2.4 管理數據庫填充 234 12.2.5 部署應用程序 237 12.3 小結 239 第 13章 使用Visual Studio Code 240 13.1 設置開發環境 240 13.1.1 安裝Node.js 240 13.1.2 檢查Node.js安裝狀態 241 13.1.3 安裝Git 241 13.1.4 檢查Git安裝狀態 241 13.1.5 安裝Bower 241 13.1.6 安裝.NET Core 242 13.1.7 檢查.NET Core安裝狀態 242 13.1.8 安裝Visual Studio Code 242 13.1.9 檢查Visual Studio Code安裝 狀態 243 13.1.10 安裝Visual Studio Code的 C#擴展 243 13.2 創建ASP.NET Code項目 244 13.3 使用Visual Studio Code準備項目 244 13.3.1 管理客戶端軟件包 245 13.3.2 配置應用程序 246 13.3.3 構建和運行項目 246 13.4 重新創建PartyInvites應用程序 246 13.4.1 創建模型和存儲庫 247 13.4.2 創建數據庫 249 13.4.3 創建控制器和視圖 250 13.5 Visual Studio Code中的單元測試 254 13.5.1 創建單元測試 254 13.5.2 運行測試 255 13.6 小結 255
第二部分 ASP.NET Core MVC詳解
第 14章 配置應用程序 257 14.1 準備示例項目 257 14.2 配置項目 259 14.2.1 將包添加到項目中 259 14.2.2 將工具包添加到項目中 261 14.3 理解Program類 261 14.4 了解Startup類 264 14.4.1 了解ASP.NET服務 266 14.4.2 了解ASP.NET中間件 268 14.4.3 了解如何調用Configure方法 275 14.4.4 添加其他中間件 278 14.5 配置應用程序 281 14.5.1 創建JSON配置文件 283 14.5.2 使用配置數據 284 14.5.3 配置日志記錄 285 14.5.4 配置依賴注入 288 14.6 配置MVC服務 289 14.7 處理復雜配置 290 14.7.1 創建不同的外部配置文件 290 14.7.2 創建不同的配置方法 292 14.7.3 創建不同的配置類 293 14.8 小結 294 第 15章 URL路由 295 15.1 準備示例項目 295 15.1.1 創建模型類 296 15.1.2 創建Example控制器 296 15.1.3 創建視圖 298 15.2 介紹URL模式 299 15.3 創建和注冊簡單路由 299 15.4 定義默認值 300 15.5 使用靜態URL片段 303 15.6 定義自定義片段變量 306 15.6.1 使用自定義片段變量作為 操作方法的參數 308 15.6.2 定義可選的URL片段 309 15.6.3 定義可變長度路由 311 15.7 約束路由 312 15.7.1 使用正則表達式約束路由 314 15.7.2 使用類型和值約束 316 15.7.3 組合約束 316 15.7.4 定義自定義約束 318 15.8 使用特性路由 320 15.8.1 準備特性路由 320 15.8.2 應用特性路由 321 15.8.3 應用路由約束 323 15.9 小結 323 第 16章 高級路由特性 324 16.1 準備示例項目 324 16.2 在視圖中生成傳出的URL 325 16.2.1 創建傳出的鏈接 326 16.2.2 創建非鏈接的URL 333 16.3 自定義路由系統 334 16.3.1 更改路由系統配置 335 16.3.2 創建自定義路由類 336 16.4 使用區域 344 16.4.1 創建區域 344 16.4.2 創建區域路由 345 16.4.3 填充區域 346 16.4.4 生成區域中指向操作的鏈接 347 16.5 URL模式最佳實踐 348 16.5.1 保持URL的整潔性 348 16.5.2 GET方法和POST方法: 選擇最合適的方法 349 16.6 小結 349 第 17章 控制器和操作 350 17.1 準備示例項目 350 17.2 理解控制器 353 17.3 創建控制器 353 17.3.1 創建POCO控制器 353 17.3.2 使用控制器基類 355 17.4 接收上下文數據 355 17.4.1 從Context對象中接收數據 356 17.4.2 使用操作方法參數 359 17.5 生成響應 360 17.5.1 使用Context對象生成響應 360 17.5.2 理解操作結果 361 17.5.3 生成HTML響應 362 17.5.4 執行重定向 369 17.5.5 返回不同類型的內容 374 17.5.6 響應文件的內容 376 17.5.7 返回錯誤和HTTP狀態碼 377 17.5.8 理解其他操作結果類 378 17.6 小結 378 第 18章 依賴注入 379 18.1 準備示例項目 379 18.1.1 創建模型和存儲庫 380 18.1.2 創建控制器和視圖 381 18.1.3 創建單元測試項目 383 18.2 創建松散耦合的組件 383 18.3 ASP.NET的依賴注入 387 18.3.1 準備依賴注入 388 18.3.2 配置服務提供者 389 18.3.3 對具有依賴項的控制器進行 單元測試 390 18.3.4 使用依賴關系鏈 390 18.3.5 對具體類型使用依賴注入 393 18.4 服務的生命周期 394 18.4.1 使用瞬態生命周期 395 18.4.2 使用作用域的生命周期 398 18.4.3 使用單例生命周期 399 18.5 使用操作注入 400 18.6 使用屬性注入特性 401 18.7 手動請求實現對象 401 18.8 小結 402 第 19章 過濾器 403 19.1 準備示例項目 403 19.1.1 啟用SSL 404 19.1.2 創建控制器和視圖 404 19.2 使用過濾器 405 19.3 實現過濾器 408 19.4 使用授權過濾器 409 19.5 使用操作過濾器 412 19.5.1 創建操作過濾器 412 19.5.2 創建異步操作過濾器 414 19.6 使用結果過濾器 414 19.6.1 創建結果過濾器 415 19.6.2 創建異步結果過濾器 416 19.6.3 創建混合操作/結果過濾器 417 19.7 使用異常過濾器 419 19.8 為過濾器使用依賴注入 421 19.8.1 解決過濾器依賴項 421 19.8.2 管理過濾器的生命周期 424 19.9 創建全局過濾器 426 19.10 理解和更改過濾器的執行順序 428 19.11 小結 430 第 20章 API控制器 431 20.1 準備示例項目 431 20.1.1 創建模型和存儲庫 431 20.1.2 創建控制器和視圖 433 20.2 REST控制器的作用 435 20.2.1 速度問題 435 20.2.2 效率問題 436 20.2.3 開放性問題 436 20.3 REST和API控制器 436 20.3.1 創建API控制器 437 20.3.2 測試API控制器 440 20.3.3 在瀏覽器中使用API控制器 443 20.4 內容格式 445 20.4.1 默認內容策略 445 20.4.2 內容協商 446 20.4.3 指定action數據格式 448 20.4.4 從路由或查詢字符串獲取 數據格式 449 20.4.5 啟用完成內容協商 450 20.4.6 接收不同的數據格式 451 20.5 小結 452 第 21章 視圖 453 21.1 準備示例項目 453 21.2 創建自定義視圖引擎 454 21.2.1 創建自定義IView 456 21.2.2 創建IViewEngine實現 456 21.2.3 注冊自定義視圖引擎 457 21.2.4 測試視圖引擎 458 21.3 使用Razor引擎 459 21.3.1 準備示例項目 459 21.3.2 Razor視圖 461 21.4 將動態內容添加到Razor視圖中 463 21.4.1 使用布局部分 464 21.4.2 使用分部視圖 468 21.4.3 將JSON內容添加到視圖中 469 21.5 配置Razor 471 21.6 小結 475 第 22章 視圖組件 476 22.1 準備示例項目 476 22.1.1 創建模型和存儲庫 476 22.1.2 創建控制器和視圖 478 22.1.3 配置應用程序 480 22.2 視圖組件 481 22.3 創建視圖組件 481 22.3.1 創建POCO視圖組件 482 22.3.2 從ViewComponent基類派生 483 22.3.3 視圖組件結果 484 22.3.4 獲取上下文數據 487 22.3.5 創建異步視圖組件 491 22.4 創建混合的控制器/視圖組件類 493 22.4.1 創建混合視圖 493 22.4.2 應用混合類 495 22.5 小結 495 第 23章 標簽助手 496 23.1 準備示例項目 496 23.1.1 創建模型和存儲庫 496 23.1.2 創建控制器、布局與視圖 497 23.1.3 配置應用程序 499 23.2 創建標簽助手 500 23.2.1 定義標簽助手類 501 23.2.2 注冊標簽助手 503 23.2.3 使用標簽助手 503 23.2.4 管理標簽助手的作用域 505 23.3 高級標簽助手特性 508 23.3.1 創建縮寫元素 508 23.3.2 前置和追加內容與元素 510 23.3.3 使用依賴注入獲取視圖 上下文數據 512 23.3.4 使用視圖模型 514 23.3.5 協調標簽助手 516 23.3.6 抑制輸出元素 517 23.4 小結 518 第 24章 使用表單標簽助手 519 24.1 準備示例項目 519 24.2 使用form元素 521 24.2.1 設置form目標 521 24.2.2 使用防偽特性 522 24.3 使用input元素 524 24.3.1 配置input元素 524 24.3.2 格式化數據 526 24.4 使用label元素 528 24.5 使用select和option元素 529 24.5.1 使用數據源填充select元素 530 24.5.2 從枚舉中生成option元素 531 24.6 使用textarea元素 535 24.7 驗證表單標簽助手 536 24.8 小結 536 第 25章 使用其他內置標簽助手 537 25.1 準備示例項目 537 25.2 使用宿主環境標簽助手 538 25.3 使用JavaScript和CSS標簽助手 539 25.3.1 管理JavaScript文件 539 25.3.2 管理CSS樣式表 545 25.4 使用超鏈接元素 547 25.5 使用圖像元素 548 25.6 使用數據緩存 549 25.6.1 設置緩存過期時間 551 25.6.2 使用緩存變體 552 25.7 小結 555 第 26章 模型綁定 556 26.1 準備示例項目 556 26.1.1 創建模型和存儲庫 556 26.1.2 創建控制器和視圖 558 26.1.3 配置應用 559 26.2 理解模型綁定 560 26.2.1 默認綁定值 561 26.2.2 綁定簡單值 562 26.2.3 綁定復雜類型 562 26.2.4 綁定數組和集合 570 26.3 指定模型綁定源 575 26.3.1 選擇標準綁定源 576 26.3.2 使用請求頭作為綁定源 577 26.3.3 使用請求體作為綁定源 579 26.4 小結 581 第 27章 模型驗證 582 27.1 準備示例項目 582 27.1.1 創建模型 583 27.1.2 創建控制器 583 27.1.3 創建布局和視圖 584 27.2 理解模型驗證的需求 586 27.3 顯式地驗證模型 586 27.3.1 為用戶顯示驗證錯誤消息 588 27.3.2 顯示驗證消息 589 27.3.3 顯示屬性級驗證消息 592 27.3.4 顯示模型級驗證消息 593 27.4 使用元數據指定驗證規則 595 27.5 執行客戶端驗證 599 27.6 執行遠程驗證 601 27.7 小結 603 第 28章 ASP.NET Core Identity 入門 604 28.1 準備示例項目 604 28.2 設置ASP.NET Core Identity 607 28.2.1 創建用戶類 607 28.2.2 創建數據庫上下文類 608 28.2.3 配置數據庫連接串 608 28.2.4 創建ASP.NET Core Identity 數據庫 610 28.3 使用ASP.NET Core Identity 610 28.3.1 列舉用戶賬戶 610 28.3.2 創建用戶 612 28.3.3 驗證密碼 615 28.3.4 驗證用戶詳情 620 28.4 完成管理功能 624 28.4.1 實現刪除功能 625 28.4.2 實現編輯功能 626 28.5 小結 629 第 29章 應用ASP.NET Core Identity 630 29.1 準備示例項目 630 29.2 驗證用戶 630 29.2.1 準備實現驗證 632 29.2.2 添加用戶驗證 634 29.2.3 測試驗證 636 29.3 使用角色授權用戶 636 29.3.1 創建與刪除角色 637 29.3.2 管理角色成員 641 29.3.3 使用角色進行授權 644 29.4 播種數據庫 647 29.5 小結 650 第30章 ASP.NET Core Identity 進階 651 30.1 準備示例項目 651 30.2 添加自定義用戶屬性 652 30.2.1 準備數據庫遷移 654 30.2.2 測試自定義屬性 655 30.3 使用聲明和策略 655 30.3.1 聲明 656 30.3.2 創建聲明 659 30.3.3 使用策略 661 30.3.4 使用策略對資源授權訪問 666 30.4 使用第三方驗證 670 30.4.1 注冊Google應用 670 30.4.2 啟用Google驗證 671 30.5 小結 674 第31章 模型約定與操作約束 675 31.1 準備示例項目 675 31.2 使用應用程序模型和模型約定 677 31.2.1 理解應用程序模型 678 31.2.2 理解模型約定角色 680 31.2.3 創建模型約定 680 31.2.4 理解模型約定的執行順序 684 31.2.5 創建全局模型約定 685 31.3 使用操作約束 686 31.3.1 準備示例項目 687 31.3.2 操作約束的作用 688 31.3.3 創建操作約束 689 31.3.4 在操作約束中處理依賴 692 31.4 小結 694 |
序: |