图书目录

目 录

第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