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 0000000000000000000000000000000000000000..baef0c7d5dc86c1f53931337af0e4bd80b7391a0 --- /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 diff --git "a/\351\231\210\346\235\250\346\226\207/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" new file mode 100644 index 0000000000000000000000000000000000000000..a02c1f2f6aa14ab5cb2c68842eb5e41332044357 --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/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/\351\231\210\346\235\250\346\226\207/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" new file mode 100644 index 0000000000000000000000000000000000000000..925819d80b5b347b88b299c4061294758bc201c9 --- /dev/null +++ "b/\351\231\210\346\235\250\346\226\207/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/20260105-mvc.md" "b/\351\231\210\346\235\250\346\226\207/20260105-mvc.md" new file mode 100644 index 0000000000000000000000000000000000000000..4d9be4e6239b201458e28db50e570002fd56c931 --- /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 0000000000000000000000000000000000000000..ef5976b59267c9839f54e156f29e36aba9b2c97a --- /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 0000000000000000000000000000000000000000..0c62ddec527c76f13e491df36aa095fe2994947d --- /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

+ +``` + 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 0000000000000000000000000000000000000000..dc467c090a48e6cecd67c00e6614b2af3357a86e --- /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