From 0ad18da001c13d703a20089da61c8dea9fb1c3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AA=A6=E4=BF=8A?= <2086707613@qq.com> Date: Mon, 5 Jan 2026 18:05:37 +0800 Subject: [PATCH 1/2] 1 --- .../20251230-\351\241\265\351\235\242.md" | 20 +++++++++++++++ ...- \345\244\215\345\210\266\345\231\250.md" | 21 ++++++++++++++++ ...4-\346\216\247\345\210\266\345\231\250.md" | 25 +++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 "\347\252\246\344\277\212/20251230-\351\241\265\351\235\242.md" create mode 100644 "\347\252\246\344\277\212/20251231- \345\244\215\345\210\266\345\231\250.md" create mode 100644 "\347\252\246\344\277\212/20260104-\346\216\247\345\210\266\345\231\250.md" diff --git "a/\347\252\246\344\277\212/20251230-\351\241\265\351\235\242.md" "b/\347\252\246\344\277\212/20251230-\351\241\265\351\235\242.md" new file mode 100644 index 0000000..22c5750 --- /dev/null +++ "b/\347\252\246\344\277\212/20251230-\351\241\265\351\235\242.md" @@ -0,0 +1,20 @@ +# 笔记 +- 跨平台、高性能、开源、模块化的Web框架,课程使用.NET 8(长期支持版) +- 类比:Web应用的“底盘和发动机” +1. 先装.NET 8 SDK,验证版本 +2. 安装VSCode,再安装指定扩展 +```bash +# 创建并进入项目目录 +mkdir StudentManagementSystem +cd StudentManagementSystem +# 创建MVC项目 +dotnet new mvc -n StudentManagementSystem +# VSCode打开项目 +code . +``` +- 命令行:`dotnet run`,点击终端链接访问 +- VSCode:F5(自动生成launch.json) + +- 断点:行号左侧点击;启动调试:F5 +- 单步执行:F10(逐过程)、F11(逐语句) +`dotnet run`→加载Program.cs→监听端口→浏览器请求→路由匹配控制器→返回视图页面 \ No newline at end of file diff --git "a/\347\252\246\344\277\212/20251231- \345\244\215\345\210\266\345\231\250.md" "b/\347\252\246\344\277\212/20251231- \345\244\215\345\210\266\345\231\250.md" new file mode 100644 index 0000000..2be69cf --- /dev/null +++ "b/\347\252\246\344\277\212/20251231- \345\244\215\345\210\266\345\231\250.md" @@ -0,0 +1,21 @@ +# 笔记 +MVC的“大脑/指挥中心”,负责:接收HTTP请求→处理业务逻辑→调用模型取数据→选视图→传数据给视图 +- 类比:餐厅服务员(接收点单→通知厨房→端菜给顾客) +- 名称必须以`Controller`结尾(如`StudentController`),否则无法被自动识别 +- 存放位置:`Controllers`文件夹 +- 必须继承`Microsoft.AspNetCore.Mvc.Controller`类 +HTTP请求→路由系统→匹配控制器→创建实例→调用动作方法→返回结果→销毁实例 +- 控制器中的公共方法,对应可访问的URL +- 常用返回类型:`IActionResult`(及派生类型) +- 手动创建:`Controllers`文件夹新建`StudentController.cs`,编写代码 +- 命令行创建: + ```bash + dotnet aspnet-codegenerator controller -name StudentController -m Student -dc ApplicationDbContext --relativeFolderPath Controllers --useDefaultLayout --referenceScriptLibraries + ``` +控制器构造函数接收依赖项(如ILogger),框架自动提供实例: +```csharp +public StudentController(ILogger logger) +{ + _logger = logger; +} +``` \ No newline at end of file diff --git "a/\347\252\246\344\277\212/20260104-\346\216\247\345\210\266\345\231\250.md" "b/\347\252\246\344\277\212/20260104-\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..397e4d4 --- /dev/null +++ "b/\347\252\246\344\277\212/20260104-\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,25 @@ +# 笔记 +路由是将URL映射到控制器/动作方法的规则系统,核心作用是解析URL,找到对应的处理逻辑。 +Program.cs中通过`MapControllerRoute`配置: +```csharp +app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); +``` +- `{controller}`:控制器名(自动去掉Controller后缀) +- `{action}`:动作方法名 +- `{id?}`:可选参数(`?`表示非必传) +- 等号后为默认值(如未指定控制器/动作,默认走Home/Index) + +在控制器/动作方法上直接配置,优先级高于默认路由: +```csharp +[Route("api/students")] // 控制器级路由前缀 +public class StudentController : Controller +{ + [Route("")] // 匹配 /api/students + public IActionResult Index() { ... } + + [Route("{id:int}")] // 匹配 /api/students/5 + public IActionResult Details(int id) { ... } +} +``` \ No newline at end of file -- Gitee From 3e1fe1237e66a98c3aaeca1fe018b8da243893e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AA=A6=E4=BF=8A?= <2086707613@qq.com> Date: Sun, 11 Jan 2026 18:35:19 +0800 Subject: [PATCH 2/2] 1 --- "\347\252\246\344\277\212/20260105.md" | 7 +++++++ "\347\252\246\344\277\212/20260107.md" | 6 ++++++ "\347\252\246\344\277\212/20260108.md" | 5 +++++ "\347\252\246\344\277\212/29260109.md" | 6 ++++++ 4 files changed, 24 insertions(+) create mode 100644 "\347\252\246\344\277\212/20260105.md" create mode 100644 "\347\252\246\344\277\212/20260107.md" create mode 100644 "\347\252\246\344\277\212/20260108.md" create mode 100644 "\347\252\246\344\277\212/29260109.md" diff --git "a/\347\252\246\344\277\212/20260105.md" "b/\347\252\246\344\277\212/20260105.md" new file mode 100644 index 0000000..e8bf40d --- /dev/null +++ "b/\347\252\246\344\277\212/20260105.md" @@ -0,0 +1,7 @@ +# 笔记 +1. 用户通过View交互 +2. Controller接收请求 +3. Controller调用Model处理业务 +4. Model更新数据并返回结果 +5. Controller将结果传递给View +6. View更新界面展示 \ No newline at end of file diff --git "a/\347\252\246\344\277\212/20260107.md" "b/\347\252\246\344\277\212/20260107.md" new file mode 100644 index 0000000..3370609 --- /dev/null +++ "b/\347\252\246\344\277\212/20260107.md" @@ -0,0 +1,6 @@ +# 笔记 +**请求处理**:接收并验证用户输入 +**业务协调**:调用模型执行业务逻辑 +**数据传递**:将处理结果传递给视图 +**流程控制**:决定下一步显示哪个视图 +用户请求 → 路由解析 → 控制器方法 → 调用模型 → 返回结果 → 渲染视图 \ No newline at end of file diff --git "a/\347\252\246\344\277\212/20260108.md" "b/\347\252\246\344\277\212/20260108.md" new file mode 100644 index 0000000..c4717e1 --- /dev/null +++ "b/\347\252\246\344\277\212/20260108.md" @@ -0,0 +1,5 @@ +## 视图: +**数据展示**:将模型数据渲染为HTML/UI +**用户交互**:提供表单、按钮等交互元素 +**界面结构**:定义页面布局和视觉呈现 +**数据绑定**:动态显示模型状态变化 \ No newline at end of file diff --git "a/\347\252\246\344\277\212/29260109.md" "b/\347\252\246\344\277\212/29260109.md" new file mode 100644 index 0000000..64bbd0c --- /dev/null +++ "b/\347\252\246\344\277\212/29260109.md" @@ -0,0 +1,6 @@ +## 模型: +**模型是MVC的业务核心**,封装应用数据和业务规则,独立于用户界面 +**数据管理**:定义数据结构、持久化操作 +**业务逻辑**:实现核心计算规则和业务流程 +**数据验证**:确保数据完整性和有效性 +**状态管理**:维护应用状态变更 \ No newline at end of file -- Gitee