From baded666bb1224931653a45454a6c437cccd83ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=80=9A=E6=98=B1?= <2524363621@qq.com> Date: Wed, 7 Jan 2026 12:39:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00\345\217\221\347\216\257\345\242\203.md" | 23 +++++++++++++++++++ ...vc\346\216\247\345\210\266\345\231\250.md" | 20 ++++++++++++++++ ...50\347\232\204\350\267\257\347\224\261.md" | 8 +++++++ .../20260105-mvc.md" | 0 4 files changed, 51 insertions(+) create mode 100644 "\351\231\210\347\200\232\346\230\261/20251229-mvc\345\274\200\345\217\221\347\216\257\345\242\203.md" create mode 100644 "\351\231\210\347\200\232\346\230\261/20251231-mvc\346\216\247\345\210\266\345\231\250.md" create mode 100644 "\351\231\210\347\200\232\346\230\261/20260103-mvc\346\216\247\345\210\266\345\231\250\347\232\204\350\267\257\347\224\261.md" create mode 100644 "\351\231\210\347\200\232\346\230\261/20260105-mvc.md" diff --git "a/\351\231\210\347\200\232\346\230\261/20251229-mvc\345\274\200\345\217\221\347\216\257\345\242\203.md" "b/\351\231\210\347\200\232\346\230\261/20251229-mvc\345\274\200\345\217\221\347\216\257\345\242\203.md" new file mode 100644 index 0000000..1680fe5 --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20251229-mvc\345\274\200\345\217\221\347\216\257\345\242\203.md" @@ -0,0 +1,23 @@ + +- 使用命令行创建MVC项目 +3.1 为什么使用命令行? +更灵活:可以在任何目录创建项目 +更透明:了解项目创建的每一个步骤 +技能通用:命令行技能在其他开发中也会用到 +3.2 创建项目步骤 +步骤1:打开终端 + +Windows: 按Win+R,输入cmd或使用PowerShell +Mac/Linux: 打开Terminal +步骤2:创建项目目录并进入 + +mkdir StudentManagementSystem +cd StudentManagementSystem +步骤3:创建MVC项目 + +dotnet new mvc -n StudentManagementSystem +步骤4:用VSCode打开项目 + +code . +3.3 项目结构解析 +项目创建成功后,在VSCode中查看项目结构 diff --git "a/\351\231\210\347\200\232\346\230\261/20251231-mvc\346\216\247\345\210\266\345\231\250.md" "b/\351\231\210\347\200\232\346\230\261/20251231-mvc\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..c75f7f3 --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20251231-mvc\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,20 @@ +- 接收请求:捕获用户的 HTTP 请求(如 GET/POST、参数、Cookie 等) 分发逻辑:调用对应的 Model 层处理数据(查 / 增 / 删 / 改) 返回响应:将处理结果传递给 View 层渲染,或直接返回 JSON / 重定向 +- 什么是动作方法(Action Method)? +控制器中的公共方法(public method) +通常返回 IActionResult 或其派生类型 +每个动作方法对应一个用户可访问的URL +public class StudentController : Controller +{ + // 动作方法:显示学生列表 + public IActionResult Index() + { + return View(); // 返回视图 + } + + // 动作方法:显示学生详情 + public IActionResult Details(int id) + { + // 处理逻辑 + return View(); + } +} \ No newline at end of file diff --git "a/\351\231\210\347\200\232\346\230\261/20260103-mvc\346\216\247\345\210\266\345\231\250\347\232\204\350\267\257\347\224\261.md" "b/\351\231\210\347\200\232\346\230\261/20260103-mvc\346\216\247\345\210\266\345\231\250\347\232\204\350\267\257\347\224\261.md" new file mode 100644 index 0000000..950a6d1 --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20260103-mvc\346\216\247\345\210\266\345\231\250\347\232\204\350\267\257\347\224\261.md" @@ -0,0 +1,8 @@ +- 如何弄一个路由(在 Program.cs 中配置): +app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); + 路由器模版解释: + {controller}:控制器名(去掉Controller后缀) + {action}:动作方法名 + {id?}:可选参数,? 表示可选 \ No newline at end of file diff --git "a/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" "b/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" new file mode 100644 index 0000000..e69de29 -- Gitee From f98b6643768eb5d13aece06d179d2808087e6be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E7=80=9A=E6=98=B1?= <2524363621@qq.com> Date: Sun, 11 Jan 2026 22:27:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20260105-mvc.md" | 9 +++++++++ ...\212\240\346\267\261\347\220\206\350\247\243.md" | 2 ++ .../20260108-mvc\350\247\206\345\233\276.md" | 11 +++++++++++ .../20260109-mvc\346\250\241\345\236\213.md" | 13 +++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 "\351\231\210\347\200\232\346\230\261/20260107-mvc\346\216\247\345\210\266\345\231\250\345\212\240\346\267\261\347\220\206\350\247\243.md" create mode 100644 "\351\231\210\347\200\232\346\230\261/20260108-mvc\350\247\206\345\233\276.md" create mode 100644 "\351\231\210\347\200\232\346\230\261/20260109-mvc\346\250\241\345\236\213.md" diff --git "a/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" "b/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" index e69de29..a2ddca2 100644 --- "a/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" +++ "b/\351\231\210\347\200\232\346\230\261/20260105-mvc.md" @@ -0,0 +1,9 @@ +- 部分视图和视图组件有什么区别? 区别: +部分视图:只包含HTML片段,没有业务逻辑 +视图组件:包含HTML和业务逻辑,更独立 +- 用户通过View交互 +Controller接收请求 +Controller调用Model处理业务 +Model更新数据并返回结果 +Controller将结果传递给View +View更新界面展示 \ No newline at end of file diff --git "a/\351\231\210\347\200\232\346\230\261/20260107-mvc\346\216\247\345\210\266\345\231\250\345\212\240\346\267\261\347\220\206\350\247\243.md" "b/\351\231\210\347\200\232\346\230\261/20260107-mvc\346\216\247\345\210\266\345\231\250\345\212\240\346\267\261\347\220\206\350\247\243.md" new file mode 100644 index 0000000..903edbb --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20260107-mvc\346\216\247\345\210\266\345\231\250\345\212\240\346\267\261\347\220\206\350\247\243.md" @@ -0,0 +1,2 @@ +- 请求处理:接收并验证用户输入 业务协调:调用模型执行业务逻辑 数据传递:将处理结果传递给视图 流程控制:决定下一步显示哪个视图 用户请求 → 路由解析 → 控制器方法 → 调用模型 → 返回结果 → 渲染视图 +- 典型工作流: 用户请求 → 路由解析 → 控制器方法 → 调用模型 → 返回结果 → 渲染视图 \ No newline at end of file diff --git "a/\351\231\210\347\200\232\346\230\261/20260108-mvc\350\247\206\345\233\276.md" "b/\351\231\210\347\200\232\346\230\261/20260108-mvc\350\247\206\345\233\276.md" new file mode 100644 index 0000000..48ed09b --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20260108-mvc\350\247\206\345\233\276.md" @@ -0,0 +1,11 @@ +- 新建mvc应用 +dotnet new mvc -n 名称(在C#应用内,几乎所有标识符都用首字母大写); +搞定控制器 +在Controllers目录下,新建文件,命名通常为:XXXController.cs +控制器本质上一个类型 +定义一个类型,通常需要写好命名空间(注意取值) +然后使用public class XXXcontroller +需要使用原来定义的控制器功能,需要继承Controller类型(Controller类型的命名空间位于:Microsoft.AspNetCore.Mvc) +控制器中新建一个普通方法 +放回类型制定为IActionResult +方法内部的最后返回视图:return View(); \ No newline at end of file diff --git "a/\351\231\210\347\200\232\346\230\261/20260109-mvc\346\250\241\345\236\213.md" "b/\351\231\210\347\200\232\346\230\261/20260109-mvc\346\250\241\345\236\213.md" new file mode 100644 index 0000000..621f619 --- /dev/null +++ "b/\351\231\210\347\200\232\346\230\261/20260109-mvc\346\250\241\345\236\213.md" @@ -0,0 +1,13 @@ +- mvc示例代码,用于辅助了解: +``` +public class UserModel { + public User ValidateLogin(string username, string password) { + var user = db.FindUser(username); + return VerifyPassword(user, password) ? user : null; + } + + public bool UpdateProfile(User user) { + return Validate(user) && db.Update(user); + } +} +``` \ No newline at end of file -- Gitee