当前位置:首页 > 工业技术
精通ASP.NET MVC 5
精通ASP.NET MVC 5

精通ASP.NET MVC 5PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)弗瑞曼著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2016
  • ISBN:9787115410238
  • 页数:642 页
图书介绍:ASP.NET MVC 5是微软的ASP.NET Web平台的最新发展。它促进更清晰的代码结构,测试驱动的开发和强大的可扩展性,ASP.NET MVC 5 包含了提高开发效率的手段,包括定义使用 C# 属性和覆盖过滤器的能力。构建MVC 应用程序的用户体验得到了极大地提高。
《精通ASP.NET MVC 5》目录
标签:精通

第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

20.3.1 使用分段 467

20.3.2 使用分部视图 472

20.3.3 使用子动作 474

20.4 小结 476

第21章 辅助器方法 477

21.1 准备示例项目 477

21.1.1 设置启动URL 478

21.1.2 测试示例应用程序 478

21.2 创建自定义辅助器方法 479

21.2.1 创建内联的辅助器方法 479

21.2.2 创建外部辅助器方法 481

21.2.3 管理辅助器方法中的字符串编码 484

21.3 使用内建的Form辅助器方法 487

21.3.1 创建Form元素 487

21.3.2 指定表单使用的路由 493

21.3.3 使用输入辅助器 495

21.3.4 创建Select元素 499

21.4 小结 501

第22章 模板辅助器方法 502

22.1 准备示例项目 502

22.2 使用模板辅助器方法 504

22.2.1 生成标签和显示元素 508

22.2.2 使用整体模型模板辅助器 510

22.3 使用模型元数据 512

22.3.1 用元数据控制编辑及可见性 512

22.3.2 使用用于标签的元数据 514

22.3.3 使用用于数据值的元数据 515

22.3.4 用元数据选择显示模板 517

22.3.5 将元数据运用于伙伴类 518

22.3.6 使用复合类型属性 520

22.4 定制模板视图辅助器系统 521

22.4.1 创建自定义编辑器模板 521

22.4.2 创建泛型模板 522

22.4.3 替换内建模板 524

22.5 小结 524

第23章 URL和Ajax辅助器方法 525

23.1 准备示例项目 525

23.1.1 定义附加的CSS样式 526

23.1.2 安装NuGet包 527

23.2 创建基本的链接和URL 527

23.3 使用MVC的渐进式Ajax 529

23.3.1 创建同步表单视图 529

23.3.2 为渐进式Ajax准备项目 531

23.4 创建渐进式Ajax表单 532

23.4.1 准备控制器 532

23.4.2 创建Ajax表单 534

23.4.3 理解渐进式Ajax工作原理 535

23.5 设置Ajax选项 536

23.5.1 确保优雅降级 536

23.5.2 在Ajax请求期间给用户提供反馈 538

23.5.3 请求之前对用户进行提示 539

23.6 创建Ajax链接 539

23.7 使用Ajax回调 541

23.8 使用JSON 543

23.8.1 对控制器添加JSON支持 544

23.8.2 在浏览器中处理JSON 545

23.8.3 准备编码数据 547

23.8.4 在动作方法中检测Ajax请求 548

23.9 小结 550

第24章 模型绑定 551

24.1 准备示例项目 551

24.2 理解模型绑定 553

24.3 使用默认模型绑定器 555

24.3.1 绑定简单类型 556

24.3.2 绑定复杂类型 558

24.3.3 绑定到数组和集合 564

24.4 手工调用模型绑定 569

24.5 定制模型绑定系统 571

24.5.1 创建自定义值提供器 571

24.5.2 创建自定义模型绑定器 574

24.5.3 注册自定义模型绑定器 576

24.6 小结 577

第25章 模型验证 578

25.1 准备示例项目 578

25.1.1 创建布局 579

25.1.2 创建视图 580

25.2 明确地验证模型 581

25.3 显示验证消息 584

25.4 使用其他验证技术 588

25.4.1 在模型绑定器内实施验证 588

25.4.2 用元数据指定验证规则 589

25.4.3 定义自验证模型 595

25.5 执行客户端验证 596

25.5.1 启用客户端验证 597

25.5.2 使用客户端验证 598

25.5.3 理解客户端验证机制 599

25.6 执行远程验证 600

25.7 小结 603

第26章 捆绑包 604

26.1 准备示例应用程序 604

26.1.1 添加NuGet包 604

26.1.2 创建模型和控制器 604

26.1.3 创建布局和视图 605

26.2 脚本及样式表加载的资料分析 608

26.3 使用脚本和样式捆绑包 610

26.3.1 添加NuGet包 610

26.3.2 定义捆绑包 610

26.3.3 运用捆绑包 612

26.3.4 优化JavaScript和CSS文件 614

26.4 小结 615

第27章 Web API与单页应用程序 616

27.1 理解单页应用程序 616

27.2 准备示例项目 617

27.2.1 创建模型 617

27.2.2 添加NuGet包 619

27.2.3 添加控制器 619

27.2.4 添加布局和视图 620

27.2.5 设置启动位置并测试示例应用程序 622

27.3 使用Web API 623

27.3.1 创建WebAPI控制器 624

27.3.2 测试API控制器 624

27.4 理解API控制器的工作机制 626

27.4.1 理解API控制器的动作选择 627

27.4.2 将HTTP方法映射到动作方法 628

27.5 将Knockout用于单页应用程序 629

27.5.1 在布局中添加JavaScript库 629

27.5.2 实现Summary 630

27.5.3 改善Delete特性 635

27.5.4 实现Create特性 636

27.6 完成应用程序 639

27.6.1 简化Home控制器 639

27.6.2 管理内容的可见性 640

27.7 小结 642

返回顶部