ASP.NET MVC高效構建Web應用

朱文偉 李建英

  • 出版商: 清華大學
  • 出版日期: 2025-05-01
  • 售價: $834
  • 語言: 簡體中文
  • ISBN: 7302686459
  • ISBN-13: 9787302686453
  • 相關分類: .NETASP.NET
  • 下單後立即進貨 (約4週~6週)

  • ASP.NET MVC高效構建Web應用-preview-1
  • ASP.NET MVC高效構建Web應用-preview-2
  • ASP.NET MVC高效構建Web應用-preview-3
ASP.NET MVC高效構建Web應用-preview-1

相關主題

商品描述

"《ASP.NET MVC高效構建Web應用》以目前流行的ASP.NET MVC 5、HTML和Razor為主線,全面系統地介紹ASP.NET MVC Web應用開發的方法,配套提供實例源碼、PPT課件與作者一對一QQ答疑服務。 《ASP.NET MVC高效構建Web應用》共13章,內容包括ASP.NET與框架概述、搭建Web開發環境、ASP.NET MVC編程基礎、Razor語法基礎、HTML輔助器、LINQ的基本使用、數據庫快速開發工具Entity Framework、服務端數據註解和驗證、模型模板、前端驗證、安全與身份驗證、音樂唱片管理系統開發實戰、一百書店系統開發實戰。 《ASP.NET MVC高效構建Web應用》既適合ASP.NET MVC Web應用開發初學者和Web應用開發人員,也適合高等院校或高職高專院校Web應用開發課程的學生。"

目錄大綱

目    錄

第 1 章  ASP.NET框架概述 1

1.1  C/S架構和B/S架構 1

1.2  網站開發概述 2

1.2.1  ASP.NET網站的運行原理 2

1.2.2  ASP.NET的服務器 2

1.2.3  網站開發所需技能 3

1.3  ASP.NET概述 3

1.3.1  ASP.NET的概念 4

1.3.2  ASP.NET的優勢 4

1.3.3  ASP.NET的主流開發方式 5

1.4  ASP.NET Core概述 5

1.4.1  ASP.NET Core的優點 5

1.4.2  ASP.NET Core和ASP.NET 4.x的比較 6

1.5  C#語言概述 6

1.6  .NET Framework框架 7

1.7  HTTP與HTML 8

1.7.1  TCP/IP通信傳輸流 8

1.7.2  HTTP 8

1.7.3  HTML 10

1.8  框架 11

1.8.1  為什麽要使用框架 11

1.8.2  Web框架基礎技術 11

1.8.3  分清框架和庫 11

1.8.4  Web開發框架技術 12

1.9  常見Web框架 12

1.9.1  MVC框架模式 12

1.9.2  MVP框架模式 13

1.9.3  MVVM框架模式 14

1.9.4  Web框架的發展現狀 14

第 2 章  搭建Web開發環境 16

2.1  下載和安裝Visual Studio 16

2.2  第一個ASP.NET項目 19

2.3  生成和調試程序 24

2.3.1  為何要用生成 24

2.3.2  增加工具欄按鈕 26

2.3.3  單步調試ASP.NET項目 27

2.4  簡要剖析項目 30

第 3 章  ASP.NET MVC編程基礎 34

3.1  MVC概述 34

3.1.1  基本概念 34

3.1.2  MVC執行順序 35

3.1.3  ASP.NET MVC和傳統ASP.NET的比較 35

3.1.4  ASP.NET MVC和WebForm的比較 35

3.2  添加新控制器 36

3.2.1  新建項目並添加控制器源文件 36

3.2.2  基於路由為方法增加一個參數 38

3.2.3  基於路由為方法增加多個參數 39

3.2.4  不改變路由為方法增加多個參數 41

3.3  添加視圖 42

3.3.1  新建項目並添加視圖文件 42

3.3.2  更改視圖和佈局頁面 44

3.3.3  更改視圖標題 45

3.3.4  將數據從控制器傳遞給視圖 46

3.4  添加模型 47

3.4.1  模型的實現方式 47

3.4.2  新建項目並添加類 48

3.4.3  ViewData方式傳遞數據到視圖 49

3.4.4  ViewBag方式傳遞數據到視圖 50

3.4.5  通過返回View傳遞數據到視圖 51

3.4.6  TempData方式傳遞數據到視圖 54

3.5  模型綁定基礎 55

3.5.1  基本概念 55

3.5.2  模型綁定的過程 56

3.5.3  模型綁定的作用 56

3.5.4  模型綁定的默認數據源 56

3.5.5  模型綁定的自定義數據源 57

3.5.6  簡單類型的模型綁定 58

3.5.7  復雜類型的模型綁定 58

第 4 章  Razor語法基礎 61

4.1  概述 61

4.1.1  運行原理 62

4.1.2  第一個Razor範例 62

4.2  代碼塊 63

4.2.1  Razor的註釋 63

4.2.2  關鍵字 63

4.2.3  輸出字符@和電子郵件 63

4.2.4  隱式表達式 64

4.2.5  顯式表達式 65

4.2.6  表達式編碼 65

4.2.7  Razor代碼塊 66

4.2.8  隱式轉換 67

4.2.9  顯式分隔轉換 67

4.2.10  以“@:”符號顯式行轉換 67

4.2.11  條件屬性呈現 68

4.2.12  條件語句 68

4.2.13  循環語句 69

4.3  指令塊 71

4.3.1  @function指令定義方法 71

4.3.2  @using指令引入命名空間 72

4.3.3  @model指令指定對象類型 73

4.3.4  佈局類指令 73

4.4  異常處理 73

第 5 章  HTML輔助器 76

5.1  HtmlHelper簡介 76

5.2  輔助器的分類 77

5.3  工作原理 77

5.4  弱類型HtmlHelper 78

5.4.1  準備試驗環境 78

5.4.2  ActionLink鏈接 80

5.4.3  RouteLink鏈接 82

5.4.4  TextBox輸入框 82

5.4.5  Hidden隱藏域 82

5.4.6  Password密碼輸入框 83

5.4.7  CheckBox復選框 83

5.4.8  RadioButton單選按鈕 83

5.4.9  DropDownList下拉菜單 84

5.4.10  ListBox多選框 84

5.4.11  添加屬性 85

5.4.12  Form表單 85

5.4.13  使用TagBuilder創建自定義標簽 88

5.5  強類型HtmlHelper 89

5.5.1  強類型HtmlHelper方法 89

5.5.2  LabelFor數據標簽 91

5.5.3  DisplayFor與EditorFor顯示和編輯Model數據 92

5.6  支架輔助器 93

第 6 章  LINQ的基本使用 99

6.1  基本概念 99

6.2  LINQ提供的程序 99

6.3  LINQ所使用的語法 100

6.3.1  查詢表達式語法 100

6.3.2  方法語法 101

6.4  查詢表達式語法的使用 101

6.4.1  from-in-select的簡單使用 101

6.4.2  使用select的匿名類型形式 104

6.4.3  where子句 106

6.4.4  group…by子句 108

6.4.5  orderby子句 109

6.5  委托 110

6.5.1  委托的基本概念 110

6.5.2  聲明委托 111

6.5.3  通過命名方法使用委托 111

6.5.4  通過delegate關鍵字使用委托 114

6.5.5  通過Lambda表達式使用委托 115

6.5.6  多播委托 117

6.5.7  深入研究委托的“+=”和“-=” 119

6.5.8  內置委托 120

6.6  Expression表達式樹 124

6.6.1  表達式樹是什麽 124

6.6.2  表達式樹基類Expression 125

6.6.3  常用的表達式類型 127

6.6.4  Expression<TDelegate>類 129

6.7  方法調用語法 132

6.7.1  過濾元素的Where方法 132

6.7.2  選取元素的Select和SelectMany方法 136

6.7.3  排序元素的OrderBy方法 138

6.7.4  元素分組的GroupBy方法 140

6.7.5  元素分組的ToLookup方法 140

6.7.6  延遲查詢 141

第 7 章  數據庫快速開發工具Entity Framework 144

7.1  Entity Framework概述 144

7.1.1  ORM是什麽 144

7.1.2  什麽是Entity Framework 145

7.1.3  EF的優缺點 146

7.1.4  EF的適用場合 147

7.1.5  EF的組成結構 147

7.1.6  EF相對於ADO.NET的區別和優點 148

7.1.7  EF的3種開發方式 148

7.2  常用數據庫的準備 149

7.2.1  準備LocalDB 150

7.2.2  下載和安裝MySQL 153

7.2.3  登錄和使用MySQL 155

7.2.4  關閉MySQL的SSL 157

7.2.5  讓Visual Studio連接到MySQL 159

7.2.6  卸載MySQL 160

7.2.7  傳統方式訪問MySQL數據庫 161

7.3  基礎知識的準備 163

7.3.1  實體之間的關系 163

7.3.2  主鍵 164

7.3.3  外鍵 164

7.3.4  外鍵約束 165

7.3.5  HTTP中POST提交數據的4種方式 165

7.3.6  TryUpdateModel更新model 168

7.3.7  MVC中的RedirectToAction 170

7.4  Code First開發基礎 170

7.4.1  實體類及其屬性 171

7.4.2  導航屬性的概念 173

7.4.3  EF中的關系 173

7.4.4  約定、外鍵和導航屬性 174

7.4.5  實體的類型 179

7.4.6  實體對象的狀態 180

7.4.7  數據庫上下文基類DbContext 181

7.4.8  數據集類DbSet 184

7.4.9  不通過配置文件創建數據庫 185

7.4.10  數據庫連接字符串 190

7.4.11  常用數據庫的連接字符串範例 195

7.4.12  通過配置文件創建數據庫 202

7.4.13  基於EF的增、刪、改、查操作 205

7.5  基於Code First的Web案例 213

7.5.1  創建Entity Framework數據模型 213

7.5.2  查看並操作數據庫實驗 222

7.5.3  實現基本的CRUD功能 225

7.5.4  排序、篩選和分頁 237

7.5.5  完善“關於”頁 244

7.6  Database First開發基礎 246

7.6.1  準備數據庫 246

7.6.2  Database First模式的數據庫應用開發 248

7.7  Model First開發基礎 257

第 8 章  服務端數據註解和驗證 269

8.1  概述 269

8.1.1  為何要驗證用戶輸入 269

8.1.2  數據註解及其分類 270

8.2  內置驗證註解 270

8.2.1  Required非空驗證 271

8.2.2  StringLength字符串長度驗證 273

8.2.3  RegularExpression正則表達式驗證 274

8.2.4  Range數值範圍驗證 275

8.2.5  Compare特性 277

8.2.6  Remote遠程服務器驗證 277

8.3  顯示性註解 283

8.3.1  DisplayName顯示屬性名稱 283

8.3.2  DisplayFormat設置顯示格式 285

8.3.3  ReadOnly設置只讀 286

8.3.4  HiddenInput隱藏屬性 290

8.3.5  ScaffoldColumn徹底不顯示屬性 292

8.3.6  分部視圖 295

8.3.7  UIHint定製屬性顯示方式 301

8.4  其他註解 303

8.4.1  DataType提供屬性特定信息 303

8.4.2  映射相關的數據註解NotMapped 304

8.4.3  自定義校驗特性 305

第 9 章  模型模板 308

9.1  模型元數據 308

9.1.1  元數據 308

9.1.2  模型元數據介紹 309

9.1.3  Model與View的使用關系 309

9.1.4  元數據驅動設計 310

9.1.5  元數據的層次結構 311

9.1.6  模型元數據的作用 312

9.1.7  自定義模板 312

9.2  預定義模板 314

9.2.1  EmailAddress模板 314

9.2.2  HiddenInput模板 315

9.2.3  Html模板 316

9.2.4  Text與String模板 317

9.2.5  Url模板 318

9.2.6  MultilineText模板 319

9.2.7  Password模板 319

9.2.8  Decimal模板 320

9.2.9  Collection模板 321

第 10 章  前端驗證 323

10.1  基於HTML的客戶端驗證 324

10.2  基於jQuery Validation Unobtrusive的客戶端驗證 326

10.2.1  基本概念 326

10.2.2  優點 326

10.2.3  開啟或關閉客戶端驗證 327

10.2.4  使用jQuery Validation Unobtrusive的基本步驟 327

10.2.5  基本驗證規則 328

10.2.6  data-val-required和[Required]特性的區別 330

10.2.7  復雜一點的規則 330

第 11 章  安全與身份驗證 334

11.1  概述 334

11.1.1  ASP.NET MVC提供的安全特性 334

11.1.2  身份驗證和授權 335

11.1.3  ASP.NET MVC中的用戶身份驗證和授權 335

11.1.4  授權 336

11.1.5  角色管理 336

11.1.6  用戶管理 336

11.1.7  記錄用戶的驗證狀態 337

11.1.8  命名空間System.Web.Security 337

11.2  會話 338

11.2.1  基本概念 338

11.2.2  工作原理 340

11.2.3  使用會話的優勢 340

11.2.4  會話的應用場景 341

11.3  ASP.NET內置對象 342

11.3.1  基本概念 342

11.3.2  使用內置對象的途徑 343

11.3.3  Response對象 343

11.4  Request對象 348

11.4.1  Server對象 351

11.4.2  Session對象 353

11.4.3  Application對象 355

11.5  Cookie 356

11.5.1  基本概念 356

11.5.2  工作原理 357

11.5.3  Cookie的分類 358

11.5.4  Session和Cookie比較 358

11.5.5  Cookie的作用 359

11.5.6  Cookie類HttpCookie 359

11.5.7  管理Cookie 360

11.6  用戶憑證管理框架 362

11.6.1  概述 362

11.6.2  成員資格類Membership 363

11.6.3  CreateUser創建用戶 367

11.6.4  ValidateUser驗證用戶 369

11.7  表單身份驗證 369

11.7.1  驗證類型 369

11.7.2  基本概念 370

11.7.3  啟用表單驗證 371

11.7.4  表單驗證類FormsAuthentication 372

11.7.5  登錄流程 375

11.7.6  判斷用戶是否登錄 376

11.7.7  FormsAuthenticationTicket創建登錄票據 377

11.7.8  SetAuthCookie創建票據並保存到Cookie 380

11.7.9  IPrincipal和IIdentity 381

11.7.10  類Membership與類FormsAuthentication的功能區別 381

11.8  操作方法的過濾訪問 381

11.8.1  Authorize授權過濾器 381

11.8.2  匿名訪問控制器方法 406

11.8.3  HandleError異常過濾器 409

11.8.4  ActionFilter自定義過濾器 411

11.9  緩存和授權 412

第 12 章  音樂唱片管理系統開發實戰 416

12.1  新建項目 416

12.2  添加控制器 416

12.2.1  使用HomeController 417

12.2.2  添加StoreController 417

12.3  視圖和ViewModel 420

12.3.1  修改視圖模板 420

12.3.2  對常見網站元素使用佈局 421

12.3.3  更新StyleSheet 422

12.3.4  添加流派和專輯模型類 423

12.3.5  使用模型將信息傳遞給視圖 424

12.3.6  在頁面之間添加鏈接 427

12.4  模型和數據訪問 428

12.4.1  使用Code First模式訪問數據庫 429

12.4.2  添加藝術家模型類 429

12.4.3  更新專輯和流派模型類 429

12.4.4  創建連接字符串 430

12.4.5  準備安裝Entity Framework 430

12.4.6  安裝SQL Server Compact驅動 431

12.4.7  添加上下文類 431

12.4.8  添加商品種子數據 431

12.4.9  查詢數據庫 433

12.4.10  更新瀏覽頁面 434

12.5  商品管理 438

12.5.1  創建StoreManagerController 439

12.5.2  修改Index視圖和動作 440

12.5.3  瞭解應用商店管理器 443

12.5.4  查看商店管理器的控制器類 443

12.5.5  查看商店管理器Index方法 444

12.5.6  查看詳細信息操作 444

12.5.7  創建操作 444

12.5.8  編輯操作 449

12.5.9  刪除操作 451

12.5.10  使用HTML幫助程序截斷文本 452

12.5.11  使用數據註解進行模型驗證 453

第 13 章  一百書店系統開發實戰 456

13.1  系統設計 456

13.2  用戶管理 457

13.2.1  添加用戶模型類 457

13.2.2  添加角色模型類 458

13.2.3  安裝Entity Framework 459

13.2.4  創建數據庫上下文類 459

13.2.5  準備生成數據庫 461

13.2.6  添加Users控制器 462

13.2.7  新增用戶管理鏈接 464

13.2.8  完善創建用戶功能 464

13.2.9  完善編輯功能 465

13.2.10  細節和刪除功能 466

13.3  圖書管理 466

13.3.1  添加用戶模型類 466

13.3.2  添加圖書類別 467

13.3.3  在數據庫上下文類中添加數據集成員 467

13.3.4  添加Books控制器 467

13.3.5  添加樣本數據並刪除數據庫 468

13.3.6  首頁新增圖書管理鏈接並運行 469

13.3.7  實現圖書管理的搜索功能 470

13.4  實現首頁列表區 471

13.4.1  實現視圖 472

13.4.2  實現動作方法 474

13.4.3  準備運行查看首頁列表區 475

13.5  實現首頁類別區 475

13.5.1  實現視圖 475

13.5.2  實現動作方法 476

13.5.3  測試首頁類別查詢功能 476

13.6  實現搜索功能 477

13.6.1  實現視圖 477

13.6.2  實現動作方法 477

13.6.3  測試首頁搜索功能 478

13.7  註冊、登錄和註銷 478

13.7.1  首頁增加登錄鏈接 479

13.7.2  添加GET方式的Login方法 479

13.7.3  添加Login視圖 479

13.7.4  添加GET方式的註冊 480

13.7.5  添加Register視圖 480

13.7.6  添加POST方式的註冊 480

13.7.7  開啟表單驗證 480

13.7.8  添加POST方式的Login方法 481

13.7.9  添加註銷方法 482

13.7.10  不同角色顯示不同視圖 482

13.7.11  此時註冊、登錄和註銷 483

13.8  購物車 484

13.8.1  添加購物車商品模型類 484

13.8.2  在數據庫上下文類中添加數據集成員 485

13.8.3  添加購物車商品控制器 485

13.8.4  實現購物車Index視圖 485

13.8.5  實現購物車的角色訪問控制 487

13.8.6  添加“插入商品到購物車”方法 488

13.8.7  增加、減少和刪除 490

13.8.8  購物車結算產生訂單 491

13.9  訂單處理 495

13.9.1  買家查看訂單 496

13.9.2  買家付款 499

13.9.3  管理員發貨 500

13.9.4  買家確認收貨 501

13.9.5  取消訂單 501

13.9.6  刪除訂單 501

13.9.7  評價訂單 502

13.10  一些收尾工作 505

13.10.1  個人信息中心 505

13.10.2  更新關於和聯系方式 506

13.10.3  美化頂部橫幅 506