《ASP.NET MVC 5 高级编程》

《ASP.NET MVC 5 高级编程》 《ASP.NET MVC 5 高级编程》

  • 书名:《ASP.NET MVC 5 高级编程》
  • 分类:编程
  • 作者:Jon Galloway,Brad Wilson,K. Scott Allen,David Matson
  • 出版社:清华大学出版社
  • 出版年:2015-2-1
  • 售价:CNY 59.80
  • 装订:平装
  • 页码:480

《ASP.NET MVC 5 高级编程》 内容介绍:

使用MVC 5创建动态的、数据驱动的网站 作为Microsoft备受欢迎的MVC技术的最新版本,MVC 5是一个成熟的Web应用程序框架,支持快速的、TDD友好的开发。MVC允许开发人员创建动态的、数据驱动的网站。这样的网站具有复杂的功能,如单页面应用程序、针对移动设备优化、适应性呈现等。《ASP.NET MVC 5高级编程(第5版)》还包括了MVC 5.1和MVC 5.2中的一些新特性。通过采用分步骤讲解的方法,指导读者如何充分利用MVC。本书的作者不是Microsoft的ASP.NET MVC专家,就是ASP.NET MVC领域的智者,所以作为一本实用的教程,不但强化开发人员对概念的认识,也帮助开发人员创建自己的应用程序。 主要内容 ◆ 解释了ASP.NET MVC框架与其他“每个页面一个文件”的Web框架的区别 ◆ 介绍了控制器、视图、模型、表单、HTML辅助方法、数据注解和验证、成员资格、授权、安全性和路由 ◆ 新增了对One ASP.NET项目模板、ASP.NET Identity、Bootstrap和特性路由的介绍 ◆ 探讨了一些重要主题,如Ajax、NuGet、依赖注入、单元测试和MVC扩展 ◆ 提供了分步骤指导、真实案例以及众多代码示例,帮助读者从入门阶段进阶

作者Jon Galloway,Brad Wilson,K. Scott Allen,David Matson介绍:

Jon Galloway是Microsoft的一位专注于ASP.NET MVC的技术传道者。 Brad Wilson拥有超过20年的专业软件开发经验,10年的Web开发经验。 K. Scott Allen是OdeToCode公司的创始人,为全球客户提供定制开发、顾问和指导服务。 David Matson是Microsoft的一名软件开发人员。他是MVC5和Web API 2产品团队的一员。

《ASP.NET MVC 5 高级编程》 目录大纲:

第1章 入门 1
1.1 ASP.NET MVC简介 1
1.1.1 ASP.NET MVC如何适应ASP.NET 1
1.1.2 MVC模式简介 2
1.1.3 MVC在Web框架中的应用 2
1.1.4 ASP.NET MVC 5的发展历程 3
1.1.5 ASP.NET MVC 4概述 6
1.1.6 开源发布 9
1.2 ASP.NET MVC 5概述 9
1.2.1 One ASP.NET 10
1.2.2 新的Web项目体验 10
1.2.3 ASP.NET Identity 10
1.2.4 Bootstrap模板 11
1.2.5 特性路由 13
1.2.6 ASP.NET基架 13
1.2.7 身份验证过滤器 13
1.2.8 过滤器重写 13
1.3 安装MVC 5和创建应用程序 13
1.3.1 ASP.NET MVC 5的软件需求 13
1.3.2 安装ASP.NET MVC 5 14
1.3.3 创建ASP.NET MVC 5应用程序 14
1.3.4 New ASP.NET Project对话框 15
1.4 ASP.NET MVC应用程序的结构 19
1.4.1 ASP.NET MVC和约定 21
1.4.2 约定优于配置 21
1.4.3 约定简化通信 22
1.5 小结 22
第2章 控制器 23
2.1 控制器的角色 23
2.2 示例应用程序:MVC Music Store 25
2.3 控制器基础 28
2.3.1 简单示例:Home Controller 28
2.3.2 创建第一个控制器 30
2.3.3 控制器操作中的参数 33
2.4 小结 35
第3章 视图 36
3.1 视图的作用 37
3.2 视图的基础知识 37
3.3 理解视图约定 40
3.4 强类型视图 41
3.4.1 ViewBag的不足 41
3.4.2 理解ViewBag、ViewData和ViewDataDictionary 43
3.5 视图模型 44
3.6 添加视图 45
3.7 Razor视图引擎 47
3.7.1 Razor的概念 48
3.7.2 代码表达式 49
3.7.3 HTML编码 50
3.7.4 代码块 52
3.7.5 Razor语法示例 52
3.7.6 布局 54
3.7.7 ViewStart 56
3.8 指定部分视图 57
3.9 小结 58
第4章 模型 59
4.1 为MVC Music Store建模 60
4.2 为商店管理器构造基架 63
4.2.1 基架的含义 63
4.2.2 基架和实体框架 64
4.2.3 执行基架模板 66
4.2.4 执行基架代码 71
4.3 编辑专辑 75
4.3.1 创建编辑专辑的资源 76
4.3.2 响应编辑时的POST请求 79
4.4 模型绑定 80
4.4.1 DefaultModelBinder 81
4.4.2 显式模型绑定 82
4.5 小结 84
第5章 表单和HTML辅助方法 85
5.1 表单的使用 85
5.1.1 action和method特性 86
5.1.2 GET方法还是POST方法 86
5.2 HTML辅助方法 89
5.2.1 自动编码 90
5.2.2 辅助方法的使用 91
5.2.3 HTML辅助方法的工作原理 91
5.2.4 设置专辑编辑表单 92
5.2.5 添加输入元素 93
5.2.6 辅助方法、模型和视图数据 98
5.2.7 强类型辅助方法 100
5.2.8 辅助方法和模型元数据 101
5.2.9 模板辅助方法 101
5.2.10 辅助方法和ModelState 102
5.3 其他输入辅助方法 103
5.3.1 Html.Hidden 103
5.3.2 Html.Password 103
5.3.3 Html.RadioButton 103
5.3.4 Html.CheckBox 104
5.4 渲染辅助方法 104
5.4.1 Html.ActionLink和Html.RouteLink 104
5.4.2 URL辅助方法 105
5.4.3 Html.Partial和Html.RenderPartial 106
5.4.4 Html.Action和Html.RenderAction 107
5.5 小结 108
第6章 数据注解和验证 109
6.1 为验证注解订单 110
6.1.1 验证注解的使用 112
6.1.2 自定义错误提示消息及其本地化 116
6.1.3 注解的后台原理 117
6.1.4 控制器操作和验证错误 118
6.2 自定义验证逻辑 120
6.2.1 自定义注解 120
6.2.2 IValidatableObject 123
6.3 显示和编辑注解 124
6.3.1 Display 124
6.3.2 ScaffoldColumn 125
6.3.3 DisplayFormat 125
6.3.4 ReadOnly 125
6.3.5 DataType 126
6.3.6 UIHint 126
6.3.7 HiddenInput 126
6.4 小结 126
第7章 成员资格、授权和安全性 127
7.1 安全性:无趣、但极其重要 127
7.2 使用Authorize特性登录 129
7.2.1 保护控制器操作 129
7.2.2 Authorize特性在表单身份验证和AccountController控制器中的用法 133
7.2.3 Windows Authentication 134
7.3 要求角色成员使用Authorize特性 137
7.4 扩展用户身份 138
7.4.1 存储额外的用户资料数据 139
7.4.2 持久化控制 139
7.4.3 管理用户和角色 139
7.5 通过OAuth和OpenID的外部登录 139
7.5.1 注册外部登录提供器 141
7.5.2 配置OpenID提供器 142
7.5.3 配置OAuth提供器 144
7.5.4 外部登录的安全性 144
7.6 Web应用程序中的安全向量 145
7.6.1 威胁:跨站脚本 146
7.6.2 威胁:跨站请求伪造 154
7.6.3 威胁:cookie盗窃 158
7.6.4 威胁:重复提交 160
7.6.5 威胁:开放重定向 162
7.7 适当的错误报告和堆栈跟踪 166
7.7.1 使用配置转换 167
7.7.2 在生产环境中使用Retail部署配置 168
7.7.3 使用专门的错误日志系统 168
7.8 安全回顾和有用资源 168
7.9 小结 169
第8章 Ajax 171
8.1 jQuery 172
8.1.1 jQuery的特性 172
8.1.2 非侵入式JavaScript 175
8.1.3 jQuery的用法 176
8.2 Ajax辅助方法 181
8.2.1 在项目中添加非侵入式Ajax脚本 182
8.2.2 Ajax的ActionLink方法 183
8.2.3 HTML 5特性 185
8.2.4 Ajax表单 186
8.3 客户端验证 188
8.3.1 jQuery验证 188
8.3.2 自定义验证 191
8.4 辅助方法之外 196
8.4.1 jQuery UI 196
8.4.2 使用jQuery UI实现自动完成部件 197
8.4.3 JSON和客户端模板 200
8.4.4 Bootstrap插件 204
8.5 提高Ajax性能 206
8.5.1 使用内容分发网络 206
8.5.2 脚本优化 206
8.5.3 捆绑和微小 207
8.6 小结 208
第9章 路由 209
9.1 统一资源定位符——URL 209
9.2 路由概述 210
9.2.1 对比路由和URL重写 211
9.2.2 路由方法 211
9.2.3 定义特性路由 212
9.2.4 定义传统路由 221
9.2.5 选择特性路由还是传统路由 229
9.2.6 路由命名 229
9.2.7 MVC区域 231
9.2.8 catch-all参数 233
9.2.9 段中的多个路由参数 233
9.2.10 StopRoutingHandler和IgnoreRoute 234
9.2.11 路由的调试 235
9.3 揭秘路由如何生成URL 236
9.3.1 URL生成的高层次概述 237
9.3.2 URL生成详解 237
9.3.3 外界路由值 238
9.3.4 Route类生成URL的若干示例 240
9.4 揭秘路由如何绑定到操作 241
9.4.1 高层次请求的路由管道 241
9.4.2 路由数据 242
9.5 自定义路由约束 242
9.6 Web Forms和路由机制 243
9.7 小结 244
第10章 NuGet 245
10.1 NuGet概述 245
10.2 以包的形式添加库 246
10.2.1 查找包 247
10.2.2 安装包 248
10.2.3 更新包 251
10.2.4 包恢复 251
10.2.5 包管理器控制台的用法 252
10.3 创建包 254
10.3.1 打包项目 255
10.3.2 打包文件夹 256
10.3.3 配置文件和源代码转换 256
10.3.4 NuSpec文件 257
10.3.5 元数据 258
10.3.6 依赖库 259
10.3.7 指定要包含的文件 260
10.3.8 工具 260
10.3.9 框架和轮廓定位 263
10.3.10 预发布包 264
10.4 发布包 264
10.4.1 发布到NuGet.org 265
10.4.2 使用NuGet.exe 267
10.4.3 包浏览器的用法 268
10.5 小结 269
第11章 ASP.NET Web API 271
11.1 定义ASP.NET Web API 272
11.2 Web API入门 272
11.3 编写API控制器 273
11.3.1 检查示例ValuesController 273
11.3.2 异步设计:
IHttpController 274
11.3.3 传入的操作参数 277
11.3.4 操作返回值、错误和异步 277
11.4 配置Web API 279
11.4.1 Web托管Web API的配置 279
11.4.2 自托管Web API的配置 280
11.5 向Web API添加路由 282
11.6 绑定参数 283
11.7 过滤请求 285
11.8 启用依赖注入 286
11.9 探索API编程 286
11.10 跟踪应用程序 287
11.11 Web API示例:ProductsController 287
11.12 小结 289
第12章 应用AngularJS构建单页面应用程序 290
12.1 理解和安装AngularJS 291
12.1.1 AngularJS简介 291
12.1.2 本章目标 291
12.1.3 入门 291
12.1.4 向网站中添加AngularJS 293
12.1.5 数据库设置 294
12.2 创建Web API 296
12.3 创建应用程序和模块 297
12.3.1 创建控制器、模型和视图 298
12.3.2 服务 300
12.3.3 路由 303
12.3.4 详细视图 305
12.3.5 自定义电影服务 306
12.3.6 删除电影 308
12.3.7 编辑和创建电影 310
12.4 小结 315
第13章 依赖注入 316
13.1 软件设计模式 316
13.1.1 设计模式——控制反转模式 317
13.1.2 设计模式——服务定位器 318
13.1.3 设计模式—— 依赖注入 322
13.2 MVC中的依赖解析 325
13.2.1 MVC中的单一注册服务 326
13.2.2 MVC中的复合注册服务 326
13.2.3 MVC中的任意对象 328
13.3 Web API中的依赖解析 330
13.3.1 Web API中的单一注册服务 330
13.3.2 Web API中的复合注册服务 331
13.3.3 Web API中的任意对象 332
13.3.4 对比MVC和Web API中的依赖解析器 332
13.4 小结 333
第14章 单元测试 334
14.1 单元测试和测试驱动开发的意义 334
14.1.1 单元测试的定义 335
14.1.2 测试驱动开发的定义 336
14.2 创建单元测试项目 339
14.2.1 检查默认单元测试 339
14.2.2 只测试自己编写的代码 340
14.3 单元测试用于ASP.NET MVC和ASP.NET Web API应用程序的技巧和窍门 341
14.3.1 控制器测试 341
14.3.2 路由测试 346
14.3.3 验证测试 349
14.4 小结 352
第15章 扩展ASP.NET MVC 353
15.1 模型扩展 354
15.1.1 把请求数据转换为模型 354
15.1.2 用元数据描述模型 359
15.1.3 验证模型 361
15.2 视图扩展 364
15.2.1 自定义视图引擎 364
15.2.2 编写HTML辅助方法 366
15.2.3 编写Razor辅助方法 367
15.3 控制器扩展 368
15.3.1 操作选择 368
15.3.2 操作过滤器 370
15.3.3 提供自定义结果 378
15.4 小结 379
第16章 高级主题 381
16.1 移动支持 381
16.1.1 适应性呈现 382
16.1.2 显示模式 386
16.2 高级Razor 388
16.2.1 模板化的Razor委托 388
16.2.2 视图编译 389
16.3 高级视图引擎 390
16.3.1 视图引擎配置 391
16.3.2 查找视图 392
16.3.3 视图本身 393
16.3.4 备用视图引擎 393
16.3.5 新视图引擎还是新ActionResult 395
16.4 高级基架 395
16.4.1 ASP.NET基架简介 395
16.4.2 自定义基架模板 395
16.4.3 自定义基架器 398
16.5 高级路由 398
16.5.1 RouteMagic 398
16.5.2 可编辑路由 399
16.6 高级模板 402
16.6.1 默认模板 403
16.6.2 自定义模板 406
16.7 高级控制器 408
16.7.1 定义控制器:IController接口 408
16.7.2 ControllerBase抽象基类 409
16.7.3 控制器类和操作 410
16.7.4 ActionResult 411
16.7.5 操作调用器 418
16.7.6 使用异步控制器操作 421
16.8 小结 426
第17章 ASP.NET MVC实战: 构建NuGet.org网站 427
17.1 源码与我们同在 428
17.2 WebActivator 430
17.3 ASP.NET动态数据 431
17.4 异常日志 433
17.5 性能分析 435
17.6 数据访问 437
17.7 EF基于代码迁移 438
17.8 使用Octopus Deploy进行部署 440
17.9 使用Fluent Automation自动进行浏览器测试 441
17.10 其他有用的NuGet包 441
17.10.1 WebBackgrounder 442
17.10.2 Lucene.NET 443
17.10.3 AnglicanGeek.MarkdownMailer 443
17.10.4 Ninject 443
17.11 小结 444
附录A ASP.NET MVC 5.1 445


微信扫一扫关注公众号

0 个评论

要评论图书请先登录注册

你也许想看:

C++ Primer(第4版)习题解答

《C++ Primer(第4版)习题解答》

蒋爱军、李师贤、梅晓勇编.人民邮电出版社.2007-2

“《C++ Primer习题解答》为C++ Primer(第4版)的配套书籍,根据C++ Primer(第4版)中所介绍的...”

The iOS Apprentice

《The iOS Apprentice》

Matthijs Hollemans.Razeware LLC.2013-12-19

“”

Building Web Apps for Google TV

《Building Web Apps for Google TV》

Ferrate, Andres; Surya, Amanda; Lee, Daniels..2011-7

“By integrating the Web with traditional TV, Google TV offers...”

Object-Oriented Programming With ANSI-C

《Object-Oriented Programming With ANSI-C》

Axel-Tobias Schreiner.Hanser Fachbuch.1994

“Object-oriented programming is the current cure-all — althou...”

Programming iOS 9

《Programming iOS 9》

Matt Neuburg.O'Reilly Media.2015-12-12

“”

Starting Out with Python

《Starting Out with Python》

Gaddis, Tony.Addison-Wesley.2011-3

“In Starting Out with Python ® , Second Edition Tony Gaddis’ ...”

React Native开发指南

《React Native开发指南》

[美] Bonnie Eisenman.人民邮电出版社.2016-6

“本书通过丰富的示例和详细的讲解,介绍了React Native这款JavaScript框架。在React Native中...”

Making Isometric Social Real-Time Games with HTML5, CSS3, and Javascript

《Making Isometric Social Real-Time Games with HTML5, CSS3, and Javascript》

Mario Andres Pagella.O'Reilly Media.2011-9-9

“Walk through the process of designing and implementing from ...”

构建高性能可扩展ASP.NET网站

《构建高性能可扩展ASP.NET网站》

Richard Kiessig.人民邮电出版社.2011-3

“本书专门讲解如何利用ASP.NET和SQL Server开发出高性能、高扩展性的网站,并结合具体的问题给出切实有效的解决...”

21天学通Python

《21天学通Python》

刘凌霞,郝宁波,吴海涛.电子工业出版社.2016-1

“《21天学通Python》全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实...”

Pro OpenGL ES for Android

《Pro OpenGL ES for Android》

Mike Smithwick,Mayank Verma.Apress.2012-1-25

“In Pro OpenGL ES for Android, you'll find out how to harness...”

R Packages

《R Packages》

Hadley Wickham.O'Reilly Media.2015-4-16

“Packages are the fundamental units of reproducible R code. T...”

iPhone and iPad in Action

《iPhone and iPad in Action》

Brandon Trebitowski,Christopher Allen,Shannon Appelcline.Manning Publications.2010-9-4

“iPhone and iPad In Action , compiled by mobile software deve...”

The Way To Go

《The Way To Go》

Ivo Balbaert.iUniverse.2012-3-8

“”

Pro HTML5 Programming

《Pro HTML5 Programming》

Peter Lubbers,Brian Albers,Frank Salim.Apress.2011-12

“HTML5 is here, and with it, web applications have acquired p...”

Java JDK6学习笔记

《Java JDK6学习笔记》

林信良.清华大学出版社.2007-4

“《Java JDK6学习笔记》是作者良葛格本人近几年来学习Java的心得笔记,结构按照作者的学习脉络依次展开,从什么是J...”

Software Design 中文版 03

《Software Design 中文版 03》

[ 日] 技术评论社.人民邮电出版社.2015-5

“《Software Design 中文版 03》的主题为:sed/AWK入门和Mac开发环境。特辑1详细讲解了sed与A...”

Foundations of Qt Development

《Foundations of Qt Development》

Johan Thelin.Apress.2007-8-22

“”

The Swift Programming Language

《The Swift Programming Language》

苹果公司.Apple Inc..2014-6-2

“Swift is a new programming language for creating iOS and OS ...”

C++语言99个常见编程错误

《C++语言99个常见编程错误》

Stephen C. Dewhurst.清华大学出版社.2009

“本书是C++语言大师Stephen C. Dewhurst在多年教授C++课程中所遇到的常见错误的心得笔记之基础上编写而...”