《ASP.NET MVC 4高级编程(第4版)》
基本信息
作者: (美)Jon Galloway Phil Haack Brad Wilson K. Scott Allen
译者: 孙远帅 邹权
丛书名: .NET开发经典名著
出版社:清华大学出版社
ISBN:9787302330035
上架时间:2013-8-22
出版日期:2013 年9月
开本:16开
页码:211
版次:4-1
所属分类:计算机 > 软件与程序设计 > .NET > ASP.NET
更多关于 》》》《
ASP.NET MVC 4高级编程(第4版)》
ASP.NET MVC 4高级编程(第4版)》
内容简介
计算机书籍
解释asp.net mvc框架与“文件页”web框架的不同之处
介绍控制器、视图、模型、表单、html辅助方法、数据注解、验证、成员资格、授权、安全和路由
着重介绍最核心的主题:ajax、jquery、nuget、依赖注入、单元测试、mvc扩展和razor
在实际的大型asp.net mvc案例网站nuget gallery中演示所有知识点
应上一版读者提出的要求,本书涵盖了其他一些紧贴实用的开发知识
目录
《asp.net mvc 4高级编程(第4版)》
第1章 入门
1
1
1.1 asp.net mvc简介
1
1
1.1.1 asp.net mvc如何适应asp.net
1
1
1.1.2 mvc模式简介
2
2
1.1.3 mvc在web框架中的应用
2
2
1.1.4 asp.net mvc 4的发展历程
3
3
1.1.5 asp.net mvc 4概述
9
9
1.1.6 asp.net web api
10
10
1.1.7 增强的默认项目模板
11
11
1.1.8 使用jquery mobile的移动项目模板
12
12
1.1.9 显示模式
13
13
1.1.10 捆绑和微小框架
13
13
1.1.11 包含开源库
14
14
1.1.12 其他功能
14
14
1.1.13 开源发布
16
16
1.2 创建asp.net mvc 4应用程序
16
16
1.2.1 创建asp.net mvc 4应用程序的软件要求
16
16
1.2.2 安装asp.net mvc 4
17
17
1.2.3 创建asp.net mvc 4应用程序
18
18
.1.2.4 new asp.net mvc 4project对话框
19
19
1.3 asp.net mvc应用程序的结构
23
23
1.4 小结
27
27
第2章 控制器
29
29
2.1 控制器的角色
29
29
2.2 示例应用程序:mvc music store
31
31
2.3 控制器基础
33
33
2.3.1 简单示例:home controller
34
34
2.3.2 创建第一个控制器
36
36
2.3.3 控制器操作中的参数
39
39
2.4 小结
41
41
第3章 视图
43
43
3.1 视图的作用
44
44
3.2 指定视图
45
45
3.3 强类型视图
47
47
3.4 视图模型
49
49
3.5 添加视图
50
50
3.6 razor视图引擎
53
53
3.6.1 razor的概念
53
53
3.6.2 代码表达式
54
54
3.6.3 html编码
56
56
3.6.4 代码块
58
58
3.6.5 razor语法示例
59
59
3.6.6 布局
61
61
3.6.7 viewstart
64
64
3.7 指定部分视图
64
64
3.8 小结
65
65
第4章 模型
67
67
4.1 为mvc music store建模
67
67
4.2 为商店管理器构造基架
70
70
4.2.1 基架的含义
70
70
4.2.2 基架和实体框架
72
72
4.2.3 执行基架模板
74
74
4.2.4 执行基架代码
77
77
4.3 编辑专辑
81
81
4.3.1 创建编辑专辑的资源
82
82
4.3.2 响应编辑时的post请求
84
84
4.4 模型绑定
86
86
4.4.1 defaultmodelbinder
87
87
4.4.2 显式模型绑定
88
88
4.5 小结
89
89
第5章 表单和html辅助方法
91
91
5.1 表单的使用
91
91
5.1.1 action和method特性
92
92
5.1.2 get方法还是post方法
92
92
5.2 html辅助方法
96
96
5.2.1 自动编码
96
96
5.2.2 辅助方法的使用
97
97
5.2.3 html辅助方法的工作原理
98
98
5.2.4 设置专辑编辑表单
98
98
5.2.5 添加输入元素
100
100
5.2.6 辅助方法、模型和视图数据
104
104
5.2.7 强类型辅助方法
106
106
5.2.8 辅助方法和模型元数据
107
107
5.2.9 模板辅助方法
107
107
5.2.10 辅助方法和modelstate
108
108
5.3 其他输入辅助方法
109
109
5.3.1 html.hidden
109
109
5.3.2 html.password
109
109
5.3.3 html.radiobutton
109
109
5.3.4 html.checkbox
110
110
5.4 渲染辅助方法
110
110
5.4.1 html.actionlink和html.routelink
110
110
5.4.2 url辅助方法
111
111
5.4.3 html.partial和html.renderpartial
112
112
5.4.4 html.action和html.renderaction
113
113
5.5 小结
115
115
第6章 数据注解和验证
117
117
6.1 为验证注解订单
118
118
6.1.1 验证注解的使用
119
119
6.1.2 自定义错误提示消息及其本地化
123
123
6.1.3 注解的后台原理
124
124
6.1.4 控制器操作和验证错误
125
125
6.2 自定义验证逻辑
127
127
6.2.1 自定义注解
127
127
6.2.2 ivalidatableobject
130
130
6.3 显示和编辑注解
131
131
6.3.1 display
131
131
6.3.2 scaffoldcolumn
132
132
6.3.3 displayformat
132
132
6.3.4 readonly
133
133
6.3.5 datatype
133
133
6.3.6 uihint
134
134
6.3.7 hiddeninput
134
134
6.4 小结
134
134
第7章 成员资格、授权和安全性
135
135
7.1 使用authorize特性登录
137
137
7.1.1 保护控制器操作
137
137
7.1.2 authorize特性在表单身份验证和accountcontroller控制器中的用法
141
141
7.1.3 intranet application模板中的windows authentication
142
142
7.1.4 整个控制器的安全性
143
143
7.1.5 使用全局授权过滤器保障整个应用程序安全
144
144
7.2 要求角色成员使用authorize特性
145
145
7.3 扩展角色和成员
146
146
7.4 通过oauth和openid的外部登录
146
146
7.4.1 注册外部登录提供器
148
148
7.4.2 配置openid提供器
148
148
7.4.3 配置oauth提供器
151
151
7.4.4 外部登录的安全性
152
152
7.5 web应用程序中的安全向量
153
153
7.5.1 威胁:跨站脚本
153
153
7.5.2 威胁:跨站请求伪造
163
163
7.5.3 威胁:cookie盗窃
167
167
7.5.4 威胁:重复提交
169
169
7.5.5 威胁:开放重定向
171
171
7.6 适当的错误报告和堆栈跟踪
179
179
7.6.1 使用配置转换
180
180
7.6.2 在生产环境中使用retail部署配置
181
181
7.6.3 使用专门的错误日志系统
181
181
7.7 安全回顾和有用资源
182
182
7.8 小结
182
182
第8章 ajax
185
185
8.1 jquery
185
185
8.1.1 jquery的特性
186
186
8.1.2 非侵入式javascript
189
189
8.1.3 jquery的用法
190
190
8.2 ajax辅助方法
193
193
8.2.1 ajax的actionlink方法
193
193
8.2.2 html 5特性
195
195
8.2.3 ajax表单
196
196
8.3 客户端验证
198
198
8.3.1 jquery验证
198
198
8.3.2 自定义验证
200
200
8.4 辅助方法之外
204
204
8.4.1 jquery ui
204
204
8.4.2 使用jquery ui实现自动完成部件
205
205
8.4.3 json和客户端模板
208
208
8.5 提高ajax性能
213
213
8.5.1 使用内容分发网络
213
213
8.5.2 脚本优化
214
214
8.5.3 捆绑和微小
214
214
8.6 小结
215
215
第9章 路由
217
217
9.1 统一资源定位符——url
218
218
9.2 路由概述
219
219
9.2.1 对比路由和url重写
219
219
9.2.2 路由的定义
220
220
9.2.3 路由命名
227
227
9.2.4 mvc区域
229
229
9.2.5 catch-all参数
230
230
9.2.6 段中的多个url参数
231
231
9.2.7 stoproutinghandler和ignoreroute
232
232
9.2.8 路由的调试
233
233
9.3 揭秘路由如何生成url
234
234
9.3.1 url生成的高层次概述
235
235
9.3.2 url生成详解
235
235
9.3.3 外界路由值
237
237
9.3.4 route类生成url的若干示例
239
239
9.4 揭秘路由如何绑定到操作
240
240
9.4.1 高层次请求的路由管道
240
240
9.4.2 路由数据
241
241
9.5 自定义路由约束
241
241
9.6 web forms和路由机制
242
242
9.7 小结
243
243
第10章 nuget
245
245
10.1 nuget概述
245
245
10.2 nuget安装
246
246
10.3 以包的形式添加库
248
248
10.3.1 查找包
249
249
10.3.2 安装包
250
250
10.3.3 更新包
253
253
10.3.4 最近包
254
254
10.3.5 包恢复
254
254
10.3.6 包管理器控制台的用法
255
255
10.4 创建包
258
258
10.4.1 打包项目
258
258
10.4.2 打包文件夹
259
259
10.4.3 nuspec文件
259
259
10.4.4 元数据
260
260
10.4.5 依赖库
261
261
10.4.6 指定要包含的文件
262
262
10.4.7 工具
263
263
10.4.8 框架和轮廓定位
266
266
10.4.9 预发布包
267
267
10.5 发布包
267
267
10.5.1 发布到nuget.org
267
267
10.5.2 使用nuget.exe
269
269
10.5.3 包浏览器的用法
271
271
10.6 小结
272
272
第11章 asp.net web api
273
273
11.1 定义asp.net web api
274
274
11.2 web api入门
274
274
11.3 编写api控制器
275
275
11.3.1 检查示例valuescontroller
275
275
11.3.2 异步设计:ihttpcontroller
277
277
11.3.3 传入的操作参数
278
278
11.3.4 操作返回值、错误和异步
278
278
11.4 配置web api
279
279
11.4.1 web托管web api的配置
279
279
11.4.2 自托管web api的配置
280
280
11.4.3 第三方托管配置
281
281
11.5 向web api添加路由
281
281
11.6 绑定参数
282
282
11.7 过滤请求
284
284
11.8 启用依赖注入
285
285
11.9 探索api编程
286
286
11.10 跟踪应用程序
287
287
11.11 web api示例:productscontroller
287
287
11.12 小结
290
290
第12章 依赖注入
291
291
12.1 软件设计模式
291
291
12.1.1 设计模式——控制反转模式
292
292
12.1.2 设计模式——服务定位器
294
294
12.1.3 设计模式—— 依赖注入
298
298
12.2 mvc中的依赖解析
300
300
12.2.1 单一注册服务
302
302
12.2.2 复合注册服务
302
302
12.2.3 mvc中的任意对象
304
304
12.3 web api中的依赖解析
306
306
12.3.1 web api的单一注册服务
307
307
12.3.2 web api中的复合注册服务
308
308
12.3.3 web api中的任意对象
308
308
12.3.4 对比mvc和web api中的依赖解析器
309
309
12.4 小结
309
309
第13章 单元测试
311
311
13.1 单元测试和测试驱动开发的意义
311
311
13.1.1 单元测试的定义
312
312
13.1.2 测试驱动开发的定义
313
313
13.2 创建单元测试项目
316
316
13.2.1 检查默认单元测试
317
317
13.2.2 只测试自己编写的代码
320
320
13.3 单元测试用于asp.net mvc应用程序的技巧和窍门
321
321
13.3.1 控制器测试
321
321
13.3.2 路由测试
326
326
13.3.3 验证测试
328
328
13.4 小结
332
332
第14章 扩展asp.net mvc
333
333
14.1 模型扩展
334
334
14.1.1 把请求数据转化为模型
334
334
14.1.2 用元数据描述模型
339
339
14.1.3 验证模型
342
342
14.2 视图扩展
345
345
14.2.1 自定义视图引擎
345
345
14.2.2 编写html辅助方法
348
348
14.2.3 编写razor辅助方法
349
349
14.3 控制器扩展
349
349
14.3.1 操作选择
349
349
14.3.2 操作过滤器
351
351
14.3.3 提供自定义结果
353
353
14.4 小结
354
354
第15章 高级主题
355
355
15.1 移动支持
355
355
15.1.1 适应性呈现
356
356
15.1.2 显示模式
360
360
15.1.3 mobile project模板
361
361
15.2 高级razor
363
363
15.2.1 模板化的razor委托
363
363
15.2.2 视图编译
364
364
15.3 高级视图引擎
365
365
15.3.1 视图引擎配置
366
366
15.3.2 查找视图
367
367
15.3.3 视图本身
368
368
15.3.4 备用视图引擎
369
369
15.3.5 新视图引擎还是新actionresult
370
370
15.4 高级基架
371
371
15.4.1 自定义t4代码模板
371
371
15.4.2 nuget包mvcscaffolding
372
372
15.4.3 更新的add controller对话框选项
373
373
15.4.4 使用库模板
373
373
15.4.5 添加基架器
375
375
15.4.6 额外资源
375
375
15.5 高级路由
375
375
15.5.1 routemagic
376
376
15.5.2 可编辑路由
376
376
15.6 高级模板
380
380
15.6.1 默认模板
380
380
15.6.2 自定义模板
385
385
15.7 高级控制器
386
386
15.7.1 定义控制器:icontroller接口
386
386
15.7.2 controllerbase抽象基类
387
387
15.7.3 控制器类和操作
388
388
15.7.4 actionresult
390
390
15.7.5 操作调用器
398
398
15.7.6 使用异步控制器操作
401
401
15.8 小结
408
408
第16章 asp.net mvc实战:构建nuget.org网站
409
409
16.1 源码与我们同在
410
410
16.2 webactivator
411
411
16.3 asp.net动态数据
413
413
16.4 异常日志
416
416
16.5 性能分析
417
417
16.6 数据访问
420
420
16.7 ef基于代码迁移
421
421
16.8 成员资格
423
423
16.9 其他有用的nuget包
424
424
16.9.1 t4mvc
424
424
16.9.2 webbackgrounder
425
425
16.9.3 lucene.net
426
426
16.9.4 anglicangeek.markdown-mailer
426
426
16.9.5 ninject
426
426
16.10 小结
427
427