From 5b0b9e95ed7134ff780f6fbd1965634dfbc9395f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=9D=A8=E6=96=87?= <2112133735@qq.com> Date: Sun, 4 Jan 2026 23:50:02 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...31-\346\216\247\345\210\266\345\231\250.md" | 18 ++++++++++++++++++ ...4-\346\216\247\345\210\266\345\231\2502.md" | 10 ++++++++++ ...200\345\217\221\347\216\257\345\242\203.md" | 10 ++++++++++ 3 files changed, 38 insertions(+) create mode 100644 "20251231-\346\216\247\345\210\266\345\231\250.md" create mode 100644 "20260104-\346\216\247\345\210\266\345\231\2502.md" create mode 100644 "\351\231\210\346\235\250\346\226\207/20251230-\345\217\221\344\273\266\345\274\200\345\217\221\347\216\257\345\242\203.md" diff --git "a/20251231-\346\216\247\345\210\266\345\231\250.md" "b/20251231-\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..a02c1f2 --- /dev/null +++ "b/20251231-\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,18 @@ +# 一、笔记 +## 控制器作用: +- 接收用户的HTTP请求 +- 处理业务逻辑 +- 调用模型获取数据 +- 选择合适的视图 +- 将数据传递给视图 +## 创建控制器与动作方法 +1. 动作方法:控制器中的公共方法(public method)、通常返回 IActionResult 或其派生类型、每个动作方法对应一个用户可访问的URL +2. 创建控制器的两种方式 +- 使用VSCode手动创建 +- 使用命令行工具 +3. 从控制器传递数据到视图 +- ViewData - 弱类型字典 +- ViewBag - 动态类型 +- 强类型模型 + + diff --git "a/20260104-\346\216\247\345\210\266\345\231\2502.md" "b/20260104-\346\216\247\345\210\266\345\231\2502.md" new file mode 100644 index 0000000..925819d --- /dev/null +++ "b/20260104-\346\216\247\345\210\266\345\231\2502.md" @@ -0,0 +1,10 @@ +# 一、笔记 +1. 路由基础 +- 路由是将URL映射到控制器的规则系统 +2. 路由类型 +- 传统路由 - Startup中配置 +- 特性路由 - 控制器/方法上用[Route] +3. 基本语法 +- 传统路由模式:{controller}/{action}/{id?} +- 特性路由:[Route("products/{id:int}")] + diff --git "a/\351\231\210\346\235\250\346\226\207/20251230-\345\217\221\344\273\266\345\274\200\345\217\221\347\216\257\345\242\203.md" "b/\351\231\210\346\235\250\346\226\207/20251230-\345\217\221\344\273\266\345\274\200\345\217\221\347\216\257\345\242\203.md" new file mode 100644 index 0000000..baef0c7 --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/20251230-\345\217\221\344\273\266\345\274\200\345\217\221\347\216\257\345\242\203.md" @@ -0,0 +1,10 @@ +# 一、笔记 +1. 安装.NET 8.0 SDK→vs→c#扩展dev kit +2. 创建MVC项目: +- 步骤1:打开终端(按Win+R,输入cmd) +- 步骤2:创建项目目录并进入:mkdir StudentManagementSystem +cd StudentManagementSystem +- 步骤3:创建MVC项目:dotnet new mvc -n StudentManagementSystem +- 步骤4:用VSCode打开项目:code . +3. 在VSCode中运行与调试 +- 使用命令行:dotnet run \ No newline at end of file -- Gitee From eaca3bf502527940982d394f0004db399c49f5c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=9D=A8=E6=96=87?= <2112133735@qq.com> Date: Sun, 4 Jan 2026 23:51:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20251231-\346\216\247\345\210\266\345\231\250.md" | 0 .../20260104-\346\216\247\345\210\266\345\231\2502.md" | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename "20251231-\346\216\247\345\210\266\345\231\250.md" => "\351\231\210\346\235\250\346\226\207/20251231-\346\216\247\345\210\266\345\231\250.md" (100%) rename "20260104-\346\216\247\345\210\266\345\231\2502.md" => "\351\231\210\346\235\250\346\226\207/20260104-\346\216\247\345\210\266\345\231\2502.md" (100%) diff --git "a/20251231-\346\216\247\345\210\266\345\231\250.md" "b/\351\231\210\346\235\250\346\226\207/20251231-\346\216\247\345\210\266\345\231\250.md" similarity index 100% rename from "20251231-\346\216\247\345\210\266\345\231\250.md" rename to "\351\231\210\346\235\250\346\226\207/20251231-\346\216\247\345\210\266\345\231\250.md" diff --git "a/20260104-\346\216\247\345\210\266\345\231\2502.md" "b/\351\231\210\346\235\250\346\226\207/20260104-\346\216\247\345\210\266\345\231\2502.md" similarity index 100% rename from "20260104-\346\216\247\345\210\266\345\231\2502.md" rename to "\351\231\210\346\235\250\346\226\207/20260104-\346\216\247\345\210\266\345\231\2502.md" -- Gitee From 05e42714f64702a30d9c1cd9ea82cdccfab1ce6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=9D=A8=E6=96=87?= <2112133735@qq.com> Date: Sun, 11 Jan 2026 20:51:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8F=90=E7=AC=94=E8=AE=B0=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20260105-mvc.md" | 23 +++++++++++ ...vc\346\216\247\345\210\266\345\231\250.md" | 38 +++++++++++++++++++ .../20260108-\350\247\206\345\233\276.md" | 22 +++++++++++ .../20260109-model.md" | 6 +++ 4 files changed, 89 insertions(+) create mode 100644 "\351\231\210\346\235\250\346\226\207/20260105-mvc.md" create mode 100644 "\351\231\210\346\235\250\346\226\207/20260107-mvc\346\216\247\345\210\266\345\231\250.md" create mode 100644 "\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" create mode 100644 "\351\231\210\346\235\250\346\226\207/20260109-model.md" diff --git "a/\351\231\210\346\235\250\346\226\207/20260105-mvc.md" "b/\351\231\210\346\235\250\346\226\207/20260105-mvc.md" new file mode 100644 index 0000000..4d9be4e --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/20260105-mvc.md" @@ -0,0 +1,23 @@ + + +# 笔记 + +MVC(Model-View-Controller)是一种软件架构模式,将应用分为三个核心组件: + +**Model(模型)**:负责数据和业务逻辑,直接管理数据、规则和操作。不涉及任何界面展示。 + +**View(视图)**:用户界面层,展示数据并接收用户输入。通常是被动的,不处理业务逻辑。 + +**Controller(控制器)**:协调层,接收用户输入,调用模型处理数据,更新视图显示结果。充当Model和View之间的桥梁。 + +**工作流程**: + +1. 用户通过View交互 +2. Controller接收请求 +3. Controller调用Model处理业务 +4. Model更新数据并返回结果 +5. Controller将结果传递给View +6. View更新界面展示 + + + diff --git "a/\351\231\210\346\235\250\346\226\207/20260107-mvc\346\216\247\345\210\266\345\231\250.md" "b/\351\231\210\346\235\250\346\226\207/20260107-mvc\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..ef5976b --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/20260107-mvc\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,38 @@ +# 控制器 + +## 笔记 + +**控制器是MVC的协调中心**,接收用户请求,协调模型和视图完成响应。 + +**核心职责:** + +1. **请求处理**:接收并验证用户输入 +2. **业务协调**:调用模型执行业务逻辑 +3. **数据传递**:将处理结果传递给视图 +4. **流程控制**:决定下一步显示哪个视图 + +**设计原则:** + +- 保持“瘦控制器”,业务逻辑应放在模型中 +- 单一职责,每个控制器方法专注一个功能 +- 避免直接在控制器中操作数据库 +- 将数据验证委托给模型或专门的验证器 + +**典型工作流:** +用户请求 → 路由解析 → 控制器方法 → 调用模型 → 返回结果 → 渲染视图 + +**示例(伪代码):** + +```java +public class UserController { + public ActionResult Login(LoginRequest request) { + var user = userModel.Validate(request); // 调用模型 + if(user != null) { + return View("Dashboard", user); // 传递数据到视图 + } + return View("LoginError"); + } +} +``` + +控制器是MVC的“交通警察”,应专注流程控制而非业务实现。 \ No newline at end of file diff --git "a/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" "b/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" new file mode 100644 index 0000000..9c0d85d --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" @@ -0,0 +1,22 @@ +## 笔记 + +- mvc视图职责 +```bash + +- 数据展示:将模型数据渲染为HTML/UI +- 用户交互:提供表单、按钮等交互元素 +- 界面结构:定义页面布局和视觉呈现 +- 数据绑定:动态显示模型状态变化 + +``` + +- Razor视图 + +```c# +@model User +

欢迎,@Model.Name

+

上次登录:@Model.LastLogin

+ +``` + +## 练习 \ No newline at end of file diff --git "a/\351\231\210\346\235\250\346\226\207/20260109-model.md" "b/\351\231\210\346\235\250\346\226\207/20260109-model.md" new file mode 100644 index 0000000..64bbd0c --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/20260109-model.md" @@ -0,0 +1,6 @@ +## 模型: +**模型是MVC的业务核心**,封装应用数据和业务规则,独立于用户界面 +**数据管理**:定义数据结构、持久化操作 +**业务逻辑**:实现核心计算规则和业务流程 +**数据验证**:确保数据完整性和有效性 +**状态管理**:维护应用状态变更 \ No newline at end of file -- Gitee From 02d4564625cb2cdccfaf5c060536153e026b0981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=9D=A8=E6=96=87?= <2112133735@qq.com> Date: Sun, 11 Jan 2026 21:14:15 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20260108-\350\247\206\345\233\276.md" | 6 +++--- "\351\231\210\346\235\250\346\226\207/20260109-model.md" | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git "a/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" "b/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" index 9c0d85d..0c62dde 100644 --- "a/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" +++ "b/\351\231\210\346\235\250\346\226\207/20260108-\350\247\206\345\233\276.md" @@ -1,4 +1,4 @@ -## 笔记 +# 笔记 - mvc视图职责 ```bash @@ -12,11 +12,11 @@ - Razor视图 -```c# +``` +c# @model User

欢迎,@Model.Name

上次登录:@Model.LastLogin

``` -## 练习 \ No newline at end of file diff --git "a/\351\231\210\346\235\250\346\226\207/20260109-model.md" "b/\351\231\210\346\235\250\346\226\207/20260109-model.md" index 64bbd0c..dc467c0 100644 --- "a/\351\231\210\346\235\250\346\226\207/20260109-model.md" +++ "b/\351\231\210\346\235\250\346\226\207/20260109-model.md" @@ -1,4 +1,4 @@ -## 模型: +# 模型: **模型是MVC的业务核心**,封装应用数据和业务规则,独立于用户界面 **数据管理**:定义数据结构、持久化操作 **业务逻辑**:实现核心计算规则和业务流程 -- Gitee