1.畅销书升级版,详细介绍了ASP.NET Core MVC的架构、功能和应用,讲述了发可扩展的Web应用程序的工具和技术。 2.结合具体实例和代码,展示了ASP.NET Core MVC的方方面面,揭示了如何用ASP.NET Core MV构建Web应用程序。 3.第7版新增了大量内容: ·Visual Studio、C#、Entity Framework、.NET Core 2的功能; ·配置应用程序和元包的方法; ·Visual Studio Code的用法和在非Windows平台上使用.NET Core的方法。
售 价:¥
纸质售价:¥85.00购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权
版权声明
内容提要
作者简介
技术审校者简介
推荐序
服务与支持
第一部分 ASP.NET Core MVC
第1章 ASP.NET Core MVC背景
1.1 ASP.NET Core MVC的历史
1.1.1 ASP.NET Web Forms
1.1.2 起初的MVC框架
1.2 ASP.NET Core
1.2.1 ASP.NET Core MVC 2的新特性
1.2.2 ASP.NET Core MVC的主要优点
1.3 预备知识
1.4 本书的结构
1.5 如何获取本书的示例代码
1.6 联系作者
1.7 小结
第2章 首个MVC应用程序
2.1 安装Visual Studio
2.2 安装.NET Core 2.0 SDK
2.3 创建新的ASP.NET Core MVC项目
2.3.1 添加控制器
2.3.2 理解路由
2.4 渲染页面
2.4.1 创建并渲染视图
2.4.2 添加动态输出
2.5 创建一个简单的数据录入程序
2.5.1 设置场景
2.5.2 设计数据模型
2.5.3 创建第二个操作和强类型视图
2.5.4 链接操作方法
2.5.5 建立表单
2.5.6 接收表单数据
2.5.7 显示响应
2.5.8 添加验证
2.5.9 设置内容样式
2.6 小结
第3章 MVC模式、项目与约定
3.1 MVC简史
3.2 MVC模式
3.2.1 模型
3.2.2 控制器
3.2.3 视图
3.2.4 MVC的ASP.NET实现
3.3 MVC与其他模式的比较
3.3.1 “智能UI”模式
3.3.2 理解模型-视图架构
3.3.3 经典的3层架构
3.3.4 MVC的多样性
3.4 ASP.NET Core MVC项目
3.4.1 创建项目
3.4.2 关于MVC的约定
3.5 小结
第4章 C#基本特性
4.1 准备示例项目
4.1.1 启用ASP.NET Core MVC
4.1.2 创建MVC应用程序组件
4.2 运用null条件运算符
4.2.1 null条件运算符的连接运算
4.2.2 联合使用null条件运算符和null合并运算符
4.3 使用自动实现属性
4.3.1 初始化自动实现的属性
4.3.2 创建只读的自动实现属性
4.4 使用字符串插值
4.5 使用对象和集合初始化器
使用索引初始化器
4.6 模式匹配
switch语句中的模式匹配
4.7 使用扩展方法
4.7.1 将扩展方法应用于接口
4.7.2 创建过滤扩展方法
4.8 使用Lambda表达式
4.8.1 定义函数
4.8.2 使用Lambda表达式实现方法和属性
4.9 使用类型推断和匿名类型
使用匿名类型
4.10 使用异步方法
4.10.1 直接使用任务
4.10.2 使用async和await关键字
4.11 获取名称
4.12 小结
第5章 使用Razor
5.1 准备示例项目
5.1.1 定义模型
5.1.2 创建控制器
5.1.3 创建视图
5.2 使用模型对象
使用视图导入
5.3 使用布局
5.3.1 创建布局
5.3.2 使用布局
5.3.3 应用视图启动文件
5.4 使用Razor表达式
5.4.1 插入数据
5.4.2 设置属性值
5.4.3 使用条件语句
5.4.4 枚举数组和集合
5.5 小结
第6章 使用Visual Studio
6.1 准备示例项目
6.1.1 创建模型
6.1.2 创建控制器和视图
6.2 管理软件包
6.2.1 NuGet
6.2.2 Bower
6.3 迭代开发
6.3.1 修改Razor视图
6.3.2 对C#类进行更改
6.3.3 使用浏览器链接
6.4 部署JavaScript和CSS
6.4.1 启用静态内容传递
6.4.2 为项目添加静态内容
6.4.3 更新视图
6.4.4 MVC应用程序中的打包和缩小
6.5 小结
第7章 对MVC应用程序进行单元测试
7.1 准备示例项目
7.1.1 启用内置的标签助手
7.1.2 为控制器添加操作方法
7.1.3 创建数据输入表单
7.1.4 更新Index视图
7.2 测试MVC应用程序
7.2.1 创建单元测试项目
7.2.2 创建项目引用
7.2.3 编写并运行单元测试
7.2.4 隔离组件以进行单元测试
7.3 改进单元测试
7.3.1 参数化单元测试
7.3.2 改进假的实现
7.4 小结
第8章 SportsStore应用程序
8.1 准备开始
8.1.1 创建MVC项目
8.1.2 创建单元测试项目
8.1.3 测试和启动应用程序
8.2 开始领域模型开发
8.2.1 创建存储库
8.2.2 创建虚拟存储库
8.2.3 注册存储库服务
8.3 显示产品清单
8.3.1 添加一个控制器
8.3.2 添加并配置视图
8.3.3 设置默认路由
8.3.4 运行应用程序
8.4 准备数据库
8.4.1 安装Entity Framework Core工具包
8.4.2 创建数据库类
8.4.3 创建存储库类
8.4.4 定义连接字符串
8.4.5 配置应用程序
8.4.6 创建数据库迁移
8.4.7 创建种子数据
8.5 添加分页
8.5.1 显示页面链接
8.5.2 改进URL
8.6 更改内容样式
8.6.1 安装Bootstrap包
8.6.2 将Bootstrap样式应用于布局
8.6.3 创建分部视图
8.7 小结
第9章 SportsStore的导航
9.1 添加导航控件
9.1.1 过滤产品列表
9.1.2 优化URL结构
9.1.3 构建类别导航菜单
9.1.4 更正页数
9.2 构建购物车
9.2.1 定义购物车模型
9.2.2 添加Add To Cart按钮
9.2.3 启用会话
9.2.4 实现Cart控制器
9.2.5 显示购物车的内容
9.3 小结
第10章 完成购物车
10.1 使用服务优化购物车模型
10.1.1 创建支持存储感知的Cart类
10.1.2 注册服务
10.1.3 简化Cart控制器
10.2 完成购物车功能
10.2.1 从购物车中删除商品
10.2.2 添加购物车摘要小部件
10.3 提交订单
10.3.1 创建模型类
10.3.2 添加结账流程
10.3.3 实现订单处理
10.3.4 完成Order控制器
10.3.5 显示验证错误
10.3.6 显示摘要页面
10.4 小结
第11章 SportsStore的管理
11.1 管理订单
11.1.1 增强模型
11.1.2 添加操作方法和视图
11.2 添加目录管理
11.2.1 创建CRUD控制器
11.2.2 实现列表视图
11.2.3 编辑商品
11.2.4 创建新的商品
11.2.5 删除商品
11.3 小结
第12章 SportsStore的安全和部署
12.1 保护管理功能
12.1.1 创建身份标识数据库
12.1.2 应用基本授权策略
12.1.3 创建账户控制器和视图
12.1.4 测试安全策略
12.2 部署应用程序
12.2.1 创建数据库
12.2.2 准备应用程序
12.2.3 应用数据库迁移
12.2.4 管理数据库填充
12.2.5 部署应用程序
12.3 小结
第13章 使用Visual Studio Code
13.1 设置开发环境
13.1.1 安装Node.js
13.1.2 检查Node.js安装状态
13.1.3 安装Git
13.1.4 检查Git安装状态
13.1.5 安装Bower
13.1.6 安装.NET Core
13.1.7 检查.NET Core安装状态
13.1.8 安装Visual Studio Code
13.1.9 检查Visual Studio Code安装状态
13.1.10 安装Visual Studio Code的C#扩展
13.2 创建ASP.NET Code项目
13.3 使用Visual Studio Code准备项目
13.3.1 管理客户端软件包
13.3.2 配置应用程序
13.3.3 构建和运行项目
13.4 重新创建PartyInvites应用程序
13.4.1 创建模型和存储库
13.4.2 创建数据库
13.4.3 创建控制器和视图
13.5 Visual Studio Code中的单元测试
13.5.1 创建单元测试
13.5.2 运行测试
13.6 小结
第二部分 ASP.NET Core MVC详解
第14章 配置应用程序
14.1 准备示例项目
14.2 配置项目
14.2.1 将包添加到项目中
14.2.2 将工具包添加到项目中
14.3 理解Program类
深入配置细节
14.4 了解Startup类
14.4.1 了解ASP.NET服务
14.4.2 了解ASP.NET中间件
14.4.3 了解如何调用Configure方法
14.4.4 添加其他中间件
14.5 配置应用程序
14.5.1 创建JSON配置文件
14.5.2 使用配置数据
14.5.3 配置日志记录
14.5.4 配置依赖注入
14.6 配置MVC服务
14.7 处理复杂配置
14.7.1 创建不同的外部配置文件
14.7.2 创建不同的配置方法
14.7.3 创建不同的配置类
14.8 小结
第15章 URL路由
15.1 准备示例项目
15.1.1 创建模型类
15.1.2 创建Example控制器
15.1.3 创建视图
15.2 介绍URL模式
15.3 创建和注册简单路由
15.4 定义默认值
定义内联默认值
15.5 使用静态URL片段
15.6 定义自定义片段变量
15.6.1 使用自定义片段变量作为操作方法的参数
15.6.2 定义可选的URL片段
15.6.3 定义可变长度路由
15.7 约束路由
15.7.1 使用正则表达式约束路由
15.7.2 使用类型和值约束
15.7.3 组合约束
15.7.4 定义自定义约束
15.8 使用特性路由
15.8.1 准备特性路由
15.8.2 应用特性路由
15.8.3 应用路由约束
15.9 小结
第16章 高级路由特性
16.1 准备示例项目
16.2 在视图中生成传出的URL
16.2.1 创建传出的链接
16.2.2 创建非链接的URL
16.3 自定义路由系统
16.3.1 更改路由系统配置
16.3.2 创建自定义路由类
16.4 使用区域
16.4.1 创建区域
16.4.2 创建区域路由
16.4.3 填充区域
16.4.4 生成区域中指向操作的链接
16.5 URL模式最佳实践
16.5.1 保持URL的整洁性
16.5.2 GET方法和POST方法:选择最合适的方法
16.6 小结
第17章 控制器和操作
17.1 准备示例项目
准备视图
17.2 理解控制器
17.3 创建控制器
17.3.1 创建POCO控制器
17.3.2 使用控制器基类
17.4 接收上下文数据
17.4.1 从Context对象中接收数据
17.4.2 使用操作方法参数
17.5 生成响应
17.5.1 使用Context对象生成响应
17.5.2 理解操作结果
17.5.3 生成HTML响应
17.5.4 执行重定向
17.5.5 返回不同类型的内容
17.5.6 响应文件的内容
17.5.7 返回错误和HTTP状态码
17.5.8 理解其他操作结果类
17.6 小结
第18章 依赖注入
18.1 准备示例项目
18.1.1 创建模型和存储库
18.1.2 创建控制器和视图
18.1.3 创建单元测试项目
18.2 创建松散耦合的组件
检查紧密耦合的组件
18.3 ASP.NET的依赖注入
18.3.1 准备依赖注入
18.3.2 配置服务提供者
18.3.3 对具有依赖项的控制器进行单元测试
18.3.4 使用依赖关系链
18.3.5 对具体类型使用依赖注入
18.4 服务的生命周期
18.4.1 使用瞬态生命周期
18.4.2 使用作用域的生命周期
18.4.3 使用单例生命周期
18.5 使用操作注入
18.6 使用属性注入特性
18.7 手动请求实现对象
18.8 小结
第19章 过滤器
19.1 准备示例项目
19.1.1 启用SSL
19.1.2 创建控制器和视图
19.2 使用过滤器
19.3 实现过滤器
获取上下文数据
19.4 使用授权过滤器
创建授权过滤器
19.5 使用操作过滤器
19.5.1 创建操作过滤器
19.5.2 创建异步操作过滤器
19.6 使用结果过滤器
19.6.1 创建结果过滤器
19.6.2 创建异步结果过滤器
19.6.3 创建混合操作/结果过滤器
19.7 使用异常过滤器
创建异常过滤器
19.8 为过滤器使用依赖注入
19.8.1 解决过滤器依赖项
19.8.2 管理过滤器的生命周期
19.9 创建全局过滤器
19.10 理解和更改过滤器的执行顺序
修改过滤器的执行顺序
19.11 小结
第20章 API控制器
20.1 准备示例项目
20.1.1 创建模型和存储库
20.1.2 创建控制器和视图
20.2 REST控制器的作用
20.2.1 速度问题
20.2.2 效率问题
20.2.3 开放性问题
20.3 REST和API控制器
20.3.1 创建API控制器
20.3.2 测试API控制器
20.3.3 在浏览器中使用API控制器
20.4 内容格式
20.4.1 默认内容策略
20.4.2 内容协商
20.4.3 指定action数据格式
20.4.4 从路由或查询字符串获取数据格式
20.4.5 启用完成内容协商
20.4.6 接收不同的数据格式
20.5 小结
第21章 视图
21.1 准备示例项目
21.2 创建自定义视图引擎
21.2.1 创建自定义IView
21.2.2 创建IViewEngine实现
21.2.3 注册自定义视图引擎
21.2.4 测试视图引擎
21.3 使用Razor引擎
21.3.1 准备示例项目
21.3.2 Razor视图
21.4 将动态内容添加到Razor视图中
21.4.1 使用布局部分
21.4.2 使用分部视图
21.4.3 将JSON内容添加到视图中
21.5 配置Razor
视图位置扩展
21.6 小结
第22章 视图组件
22.1 准备示例项目
22.1.1 创建模型和存储库
22.1.2 创建控制器和视图
22.1.3 配置应用程序
22.2 视图组件
22.3 创建视图组件
22.3.1 创建POCO视图组件
22.3.2 从ViewComponent基类派生
22.3.3 视图组件结果
22.3.4 获取上下文数据
22.3.5 创建异步视图组件
22.4 创建混合的控制器/视图组件类
22.4.1 创建混合视图
22.4.2 应用混合类
22.5 小结
第23章 标签助手
23.1 准备示例项目
23.1.1 创建模型和存储库
23.1.2 创建控制器、布局与视图
23.1.3 配置应用程序
23.2 创建标签助手
23.2.1 定义标签助手类
23.2.2 注册标签助手
23.2.3 使用标签助手
23.2.4 管理标签助手的作用域
23.3 高级标签助手特性
23.3.1 创建缩写元素
23.3.2 前置和追加内容与元素
23.3.3 使用依赖注入获取视图上下文数据
23.3.4 使用视图模型
23.3.5 协调标签助手
23.3.6 抑制输出元素
23.4 小结
第24章 使用表单标签助手
24.1 准备示例项目
重置视图和布局
24.2 使用form元素
24.2.1 设置form目标
24.2.2 使用防伪特性
24.3 使用input元素
24.3.1 配置input元素
24.3.2 格式化数据
24.4 使用label元素
24.5 使用select和option元素
24.5.1 使用数据源填充select元素
24.5.2 从枚举中生成option元素
24.6 使用textarea元素
24.7 验证表单标签助手
24.8 小结
第25章 使用其他内置标签助手
25.1 准备示例项目
25.2 使用宿主环境标签助手
25.3 使用JavaScript和CSS标签助手
25.3.1 管理JavaScript文件
25.3.2 管理CSS样式表
25.4 使用超链接元素
25.5 使用图像元素
25.6 使用数据缓存
25.6.1 设置缓存过期时间
25.6.2 使用缓存变体
25.7 小结
第26章 模型绑定
26.1 准备示例项目
26.1.1 创建模型和存储库
26.1.2 创建控制器和视图
26.1.3 配置应用
26.2 理解模型绑定
26.2.1 默认绑定值
26.2.2 绑定简单值
26.2.3 绑定复杂类型
26.2.4 绑定数组和集合
26.3 指定模型绑定源
26.3.1 选择标准绑定源
26.3.2 使用请求头作为绑定源
26.3.3 使用请求体作为绑定源
26.4 小结
第27章 模型验证
27.1 准备示例项目
27.1.1 创建模型
27.1.2 创建控制器
27.1.3 创建布局和视图
27.2 理解模型验证的需求
27.3 显式地验证模型
27.3.1 为用户显示验证错误消息
27.3.2 显示验证消息
27.3.3 显示属性级验证消息
27.3.4 显示模型级验证消息
27.4 使用元数据指定验证规则
创建自定义的属性验证特性
27.5 执行客户端验证
27.6 执行远程验证
27.7 小结
第28章 ASP.NET Core Identity入门
28.1 准备示例项目
创建控制器和视图
28.2 设置ASP.NET Core Identity
28.2.1 创建用户类
28.2.2 创建数据库上下文类
28.2.3 配置数据库连接串
28.2.4 创建ASP.NET Core Identity数据库
28.3 使用ASP.NET Core Identity
28.3.1 列举用户账户
28.3.2 创建用户
28.3.3 验证密码
28.3.4 验证用户详情
28.4 完成管理功能
28.4.1 实现删除功能
28.4.2 实现编辑功能
28.5 小结
第29章 应用ASP.NET Core Identity
29.1 准备示例项目
29.2 验证用户
29.2.1 准备实现验证
29.2.2 添加用户验证
29.2.3 测试验证
29.3 使用角色授权用户
29.3.1 创建与删除角色
29.3.2 管理角色成员
29.3.3 使用角色进行授权
29.4 播种数据库
29.5 小结
第30章 ASP.NET Core Identity进阶
30.1 准备示例项目
30.2 添加自定义用户属性
30.2.1 准备数据库迁移
30.2.2 测试自定义属性
30.3 使用声明和策略
30.3.1 声明
30.3.2 创建声明
30.3.3 使用策略
30.3.4 使用策略对资源授权访问
30.4 使用第三方验证
30.4.1 注册Google应用
30.4.2 启用Google验证
30.5 小结
第31章 模型约定与操作约束
31.1 准备示例项目
创建视图模型、控制器和视图
31.2 使用应用程序模型和模型约定
31.2.1 理解应用程序模型
31.2.2 理解模型约定角色
31.2.3 创建模型约定
31.2.4 理解模型约定的执行顺序
31.2.5 创建全局模型约定
31.3 使用操作约束
31.3.1 准备示例项目
31.3.2 操作约束的作用
31.3.3 创建操作约束
31.3.4 在操作约束中处理依赖
31.4 小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜