目 录
第1章 .NET Core 1
1.1 .NET Core简介 2
1.1.1 .NET Core发展简史 2
1.1.2 .NET Framework 2
1.1.3 Mono运行环境 3
1.1.4 .NET Standard 3
1.1.5 .NET Core特点 4
1.2 ASP.NET Core简介 5
1.2.1 ASP.NET Core发展简史 5
1.2.2 ASP.NET Core特征 5
1.3 ASP.NET Core Web项目开发 6
1.3.1 第一个ASP.NET Core Web应用程序 6
1.3.2 ASP.NET Core Web应用程序的结构 8
1.3.3 ASP.NET Core中的文件类型 9
1.4 Visual Studio 2022开发环境的基本介绍 11
1.4.1 菜单栏和工具栏 11
1.4.2 工具箱窗口 12
1.4.3 解决方案资源管理器 13
1.4.4 属性窗口 14
1.5 综合实验一:Visual Studio 2022的安装 14
1.6 本章小结 18
1.7 习题 18
第2章 基础知识 20
2.1 中间件 21
2.1.1 中间件简介 21
2.1.2 中间件的重要方法 21
2.1.3 常用中间件 22
2.1.4 中间件顺序 28
2.1.5 自定义中间件 31
2.2 依赖注入 35
2.2.1 控制反转 36
2.2.2 ASP.NET Core中的依赖注入 36
2.3 配置应用程序 38
2.3.1 最小托管模型 38
2.3.2 早期版本中的Startup文件 42
2.3.3 appsettings.json文件 43
2.3.4 环境设置 44
2.3.5 配置文件的应用 45
2.4 管理NuGet包 46
2.4.1 NuGet包的兼容性 47
2.4.2 NuGet工具 47
2.4.3 安装NuGet包 48
2.5 综合实验二:NuGet包的制作及发布 49
2.6 本章小结 53
2.7 习题 53
第3章 LINQ数据模型 55
3.1 LINQ基础 56
3.1.1 LINQ简介 56
3.1.2 LINQ的优缺点 56
3.2 数据模型预备知识 57
3.2.1 隐式类型var 57
3.2.2 自动属性 58
3.2.3 对象和集合初始化器 59
3.2.4 扩展方法 60
3.2.5 lambda表达式 61
3.3 LINQ to SQL数据模型 62
3.3.1 实体数据库的建立 62
3.3.2 LINQ to SQL 基本语法 63
3.3.3 使用LINQ to SQL进行查询 66
3.3.4 使用LINQ to SQL进行插入 67
3.3.5 使用LINQ to SQL进行修改 69
3.3.6 使用LINQ to SQL进行删除 70
3.4 综合实验三:基于LINQ数据模型的学生管理系统 71
3.5 本章小结 76
3.6 习题 77
第4章 Entity Framework Core数据模型 79
4.1 EF Core简介 80
4.2 EF Core设计模式 81
4.2.1 Database First模式 81
4.2.2 Code First模式 88
4.3 EF Core数据处理 91
4.3.1 使用EF Core进行查询 91
4.3.2 使用EF Core进行插入 91
4.3.3 使用EF Core进行修改 92
4.3.4 使用EF Core进行删除 93
4.4 Dapper简介 94
4.4.1 Dapper优点 94
4.4.2 微型ORM 94
4.4.3 Dapper包的安装 95
4.4.4 Dapper的底层实现 95
4.4.5 Dapper中的方法 96
4.5 综合实验四:课程信息管理系统 103
4.6 本章小结 108
4.7 习题 109
第5章 数据验证与注解 111
5.1 数据验证 112
5.1.1 客户端验证的应用 112
5.1.2 客户端验证与服务器端验证比较 116
5.2 数据验证属性 118
5.2.1 ASP.NET Core内置数据验证属性 118
5.2.2 ASP.NET Core 远程验证属性 122
5.2.3 自定义数据验证属性 123
5.3 数据注解 125
5.3.1 数据显示注解 125
5.3.2 数据映射注解 128
5.4 Fluent验证 131
5.4.1 Fluent API的优点 132
5.4.2 Fluent API中的主要方法 132
5.5 综合实验五:选课系统子模块 136
5.6 本章小结 141
5.7 习题 142
第6章 控制器 144
6.1 控制器概述 145
6.2 控制器的基本使用 145
6.2.1 控制器的基本内容 145
6.2.2 控制器的创建 146
6.2.3 控制器的读写模板 149
6.3 操作选择器 151
6.3.1 ActionName属性 151
6.3.2 NonAction属性 152
6.3.3 ActionVerbs属性 152
6.4 ActionResult 155
6.4.1 ViewResult类 155
6.4.2 PartialViewResult类 157
6.4.3 RedirectResult类 159
6.4.4 RedirectToRouteResult类 160
6.4.5 ContentResult类 161
6.4.6 EmptyResult类 162
6.4.7 JsonResult类 163
6.4.8 FileResult类 163
6.5 综合实验六:图像上传模块 165
6.6 本章小结 168
6.7 习题 169
第7章 视图 171
7.1 视图概述 172
7.2 向视图中传递数据 172
7.2.1 弱类型传值 172
7.2.2 强类型传值 175
7.3 Razor视图引擎 178
7.3.1 单行内容输出 178
7.3.2 多行内容输出 179
7.3.3 表达式的输出 180
7.3.4 包含文字的输出 180
7.3.5 HTML 编码 181
7.3.6 服务器端注释 182
7.3.7 转义字符 183
7.3.8 Razor语法中的分支结构 183
7.3.9 Razor语法中的循环结构 186
7.4 HTML Helper类 188
7.4.1 ActionLink( )方法生成超链接 188
7.4.2 BeginForm( )方法生成表单 190
7.4.3 Label( )方法生成标注 191
7.4.4 TextBox( )方法生成文本框 192
7.4.5 Password( )方法生成密码框 193
7.4.6 TextArea( )方法生成多文本区域 195
7.4.7 RadioButton( )方法生成单选按钮 196
7.4.8 CheckBox( )方法生成复选框 198
7.4.9 DropDownList( )方法生成下拉列表 199
7.4.10 ListBox( )方法生成列表框 201
7.4.11 辅助方法中多HTML属性值的使用 203
7.5 分部视图 204
7.5.1 分部视图简介 205
7.5.2 创建分部视图 205
7.5.3 使用Partial( )方法加载分部视图 206
7.5.4 使用Action( )方法加载分部视图 207
7.6 综合实验七:视图分页显示 208
7.7 本章小结 211
7.8 习题 212
第8章 路由 214
8.1 路由的基础 215
8.1.1 路由的作用 215
8.1.2 ASP.NET Core MVC路由的分类 216
8.2 常规路由 217
8.2.1 路由基础知识 217
8.2.2 创建自定义路由 218
8.2.3 默认路由 220
8.2.4 URL路由声明 221
8.2.5 路由属性 223
8.3 特性路由 229
8.3.1 特性路由的作用 229
8.3.2 操作方法的特性路由声明 229
8.3.3 控制器的特性路由声明 232
8.4 路由的参数约束 235
8.4.1 路由的参数约束规则 235
8.4.2 正则表达式 236
8.5 路由的选择 237
8.6 综合实验八:路由顺序设置 237
8.7 本章小结 241
8.8 习题 241
第9章 jQuery 243
9.1 jQuery优势 244
9.2 JavaScript语言基础 244
9.2.1 JavaScript代码书写位置 245
9.2.2 JavaScript基本语法 246
9.2.3 JavaScript自定义函数 250
9.3 jQuery的使用 252
9.3.1 jQuery的安装 252
9.3.2 jQuery基本语法 253
9.3.3 jQuery中的方法 253
9.3.4 jQuery中的事件 256
9.4 jQuery选择器 257
9.4.1 jQuery基本选择器 257
9.4.2 jQuery过滤选择器 262
9.4.3 jQuery表单选择器 265
9.4.4 jQuery层次选择器 266
9.5 jQuery应用实例 266
9.5.1 折叠式菜单 266
9.5.2 表格动态修改 269
9.5.3 手风琴效果 270
9.5.4 Tab选项卡 273
9.5.5 万花筒 275
9.5.6 网页时钟 277
9.6 本章小结 277
9.7 习题 277
第10章 Bootstrap框架 280
10.1 Bootstrap框架概述 281
10.1.1 Bootstrap框架发展历史 281
10.1.2 Bootstrap框架的优势 281
10.1.3 Bootstrap框架浏览器支持 281
10.2 Bootstrap框架特性 282
10.2.1 Bootstrap框架的构成 282
10.2.2 Bootstrap框架典型网站 282
10.2.3 Bootstrap框架插件 284
10.2.4 Bootstrap开发工具 284
10.3 Bootstrap框架应用 285
10.3.1 Bootstrap框架版本 285
10.3.2 下载Bootstrap框架 285
10.3.3 Bootstrap框架结构 287
10.3.4 Bootstrap框架的使用 287
10.3.5 Bootstrap框架基本应用 288
10.4 Bootstrap框架布局 291
10.4.1 基本网格布局 291
10.4.2 导航栏布局 292
10.4.3 卡片布局 294
10.4.4 表单布局 296
10.4.5 栅格布局 298
10.4.6 布局工具类 300
10.4.7 应用实例 301
10.5 本章小结 301
10.6 习题 302
第11章 学生档案管理系统 304
11.1 系统业务流程 305
11.1.1 管理员权限业务流程 305
11.1.2 教师权限业务流程 306
11.1.3 学生权限业务流程 306
11.2 领域驱动设计 307
11.2.1 领域驱动设计结构划分 308
11.2.2 领域驱动设计的价值 309
11.2.3 领域驱动设计和MVC比较 309
11.3 网站建立 310
11.4 系统概要设计 311
11.4.1 概念设计 311
11.4.2 逻辑设计 313
11.4.3 物理设计 313
11.5 类库代码实现 315
11.5.1 数据的实体模型SM.Domain 315
11.5.2 视图模型ViewModel 322
11.5.3 基础模块Infrastructure 328
11.5.4 业务逻辑处理Services 332
11.5.5 数据库的交互EF.MSSQL 336
11.6 控制器构建 345
11.6.1 登录功能 345
11.6.2 管理员功能 346
11.6.3 教师功能 346
11.6.4 学生功能 346
11.7 系统功能模块实现 347
11.7.1 系统登录模块 347
11.7.2 管理员功能模块 347
11.7.3 教师信息管理模块 351
11.7.4 基本档案管理模块 354
11.7.5 奖学金档案管理模块 355
11.7.6 借阅记录管理模块 356
11.7.7 借档预约管理模块 356
11.8 本章小结 357
参考文献 358