精通ASP.NET Core MVC(第7版)
全新正版 极速发货
¥
111.72
6.6折
¥
169.9
全新
库存4件
作者(美)亚当·弗里曼
出版社人民邮电出版社
ISBN9787115559616
出版时间2021-06
装帧平装
开本16开
定价169.9元
货号1202363323
上书时间2024-07-12
商品详情
- 品相描述:全新
- 商品描述
-
目录
部分ASP.NETCoreMVC
章ASP.NETCoreMVC背景2
1.1ASP.NETCoreMVC的历史2
1.1.1ASP.NETWebForms2
1.1.2起初的MVC框架3
1.2ASP.NETCore3
1.2.1ASP.NETCoreMVC2的新特性4
1.2.2ASP.NETCoreMVC的主要优点4
1.3预备知识6
1.4本书的结构6
1.5如何获取本书的示例代码6
1.6联系作者6
1.7小结7
第2章首个MVC应用程序8
2.1安装VisualStudio8
2.2安装.NETCore2.0SDK9
2.3创建新的ASP.NETCoreMVC项目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.1MVC简史36
3.2MVC模式36
3.2.1模型36
3.2.2控制器37
3.2.3视图37
3.2.4MVC的ASP.NET实现37
3.3MVC与其他模式的比较38
3.3.1“智能UI”模式38
3.3.2理解模型-视图架构39
3.3.3经典的3层架构39
3.3.4MVC的多样性40
3.4ASP.NETCoreMVC项目40
3.4.1创建项目41
3.4.2关于MVC的约定43
3.5小结44
第4章C#基本特性45
4.1准备示例项目45
4.1.1启用ASP.NETCoreMVC46
4.1.2创建MVC应用程序组件47
4.2运用null条件运算符48
4.2.1null条件运算符的连接运算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章使用Razor73
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章使用VisualStudio87
6.1准备示例项目87
6.1.1创建模型87
6.1.2创建控制器和视图88
6.2管理软件包89
6.2.1NuGet89
6.2.2Bower91
6.3迭代开发93
6.3.1修改Razor视图93
6.3.2对C#类进行更改94
6.3.3使用浏览器链接99
6.4部署JavaScript和CSS102
6.4.1启用静态内容传递102
6.4.2为项目添加静态内容103
6.4.3更新视图104
6.4.4MVC应用程序中的打包和缩小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安装EntityFrameworkCore工具包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改进URL155
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添加AddToCart按钮177
9.2.3启用会话179
9.2.4实现Cart控制器180
9.2.5显示购物车的内容181
9.3小结183
0章完成购物车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
1章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
2章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
3章使用VisualStudioCode240
13.1设置开发环境240
13.1.1安装Node.js240
13.1.2检查Node.js安装状态241
13.1.3安装Git241
13.1.4检查Git安装状态241
13.1.5安装Bower241
13.1.6安装.NETCore242
13.1.7检查.NETCore安装状态242
13.1.8安装VisualStudioCode242
13.1.9检查VisualStudioCode安装状态243
13.1.10安装VisualStudioCode的C#扩展243
13.2创建ASP.NETCode项目244
13.3使用VisualStudioCode准备项目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.5VisualStudioCode中的单元测试254
13.5.1创建单元测试254
13.5.2运行测试255
13.6小结255
第二部分ASP.NETCoreMVC详解
4章配置应用程序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
5章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
6章不错路由特性324
16.1准备示例项目324
16.2在视图中生成传出的URL325
16.2.1创建传出的链接326
16.2.2创建非链接的URL333
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.5URL模式最佳实践348
16.5.1保持URL的整洁性348
16.5.2GET方法和POST方法:选择最合适的方法349
16.6小结349
7章控制器和操作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
8章依赖注入379
18.1准备示例项目379
18.1.1创建模型和存储库380
18.1.2创建控制器和视图381
18.1.3创建单元测试项目383
18.2创建松散耦合的组件383
18.3ASP.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
9章过滤器403
19.1准备示例项目403
19.1.1启用SSL404
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.2REST控制器的作用435
20.2.1速度问题435
20.2.2效率问题436
20.2.3开放性问题436
20.3REST和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创建自定义IView456
21.2.2创建IViewEngine实现456
21.2.3注册自定义视图引擎457
21.2.4测试视图引擎458
21.3使用Razor引擎459
21.3.1准备示例项目459
21.3.2Razor视图461
21.4将动态内容添加到Razor视图中463
21.4.1使用布局部分464
21.4.2使用分部视图468
21.4.3将JSON内容添加到视图中469
21.5配置Razor471
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样式表5
— 没有更多了 —
以下为对购买帮助不大的评价