From 10572a3c75125adbba398cb069869a4c95c75853 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=98=89=E6=80=A1=E5=A4=A7=E5=B8=85=E5=93=A5?= <2654312426@qq.com> Date: Mon, 18 Nov 2024 12:37:48 +0800 Subject: [PATCH 1/2] 1117 --- ...345\273\272mvc\351\241\271\347\233\256.md" | 115 ++++++++++++ "202411114-mvc\345\221\275\344\273\244.md" | 48 +++++ ...41\345\231\250\347\273\223\345\220\210.md" | 165 ++++++++++++++++++ ...43\345\206\263\346\226\271\346\241\210.md" | 68 ++++++++ ...04\346\216\247\345\210\266\345\231\250.md" | 93 ++++++++++ 5 files changed, 489 insertions(+) create mode 100644 "20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" create mode 100644 "202411114-mvc\345\221\275\344\273\244.md" create mode 100644 "20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" create mode 100644 "20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" create mode 100644 "20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" diff --git "a/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" "b/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" new file mode 100644 index 0000000..74c549b --- /dev/null +++ "b/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" @@ -0,0 +1,115 @@ +创建 MVC 项目 +1. 安装 .NET SDK(如果尚未安装) +首先,确保你已经安装了最新版本的 .NET SDK。如果还没有安装,可以参考之前的步骤来安装 .NET SDK 和运行时。 + +可以使用以下命令检查是否已安装: + +dotnet --version +2. 创建一个新的 MVC 项目 +使用 .NET CLI 来创建 MVC 项目。在命令行中执行以下命令: + +dotnet new mvc -n MyMvcApp +解释: +dotnet new mvc:创建一个新的 ASP.NET MVC 项目。 +-n MyMvcApp:指定项目的名称,这里使用 MyMvcApp 作为项目名,你可以根据需要修改为其他名称。 +执行完后,.NET 将会生成一个新的 MVC 项目,包含基础的控制器、视图和模型文件。 + +3. 进入项目目录 +创建完成后,进入你的项目目录: + +cd MyMvcApp +4. 运行项目 +运行你的 MVC 项目,启动开发服务器: + +dotnet run +这时,你可以在浏览器中访问 http://localhost:5000,你应该能够看到一个基础的 MVC 应用页面。 + +5. 项目结构 +创建的 MVC 项目会包含以下目录和文件: + +Controllers:控制器类,负责处理用户的请求并返回响应。 + +默认的 HomeController.cs 文件。 +Views:视图文件,使用 Razor 语法来呈现 HTML 页面。 + +默认的 Home/Index.cshtml 视图。 +Models:用于存放数据模型的类。 + +默认没有创建模型类,但可以根据需求手动创建。 +wwwroot:包含静态文件,如 CSS、JavaScript 和图片。 + +appsettings.json:应用程序的配置文件。 + +Program.cs:配置和启动应用程序的入口点。 + +6. 访问控制器和视图 +控制器:你可以在 Controllers 目录下创建自己的控制器文件。例如,创建一个新的控制器 ProductController.cs 来处理产品相关的请求。 + +示例: + +public class ProductController : Controller +{ + public IActionResult Index() + { + return View(); + } +} +最基本的控制器结构 +csharp复制代码using Microsoft.AspNetCore.Mvc; + +namespace MyMvcApp.Controllers +{ + // 控制器类继承自 Controller 基类 + public class HomeController : Controller + { + // 最简单的操作方法,返回视图 + public IActionResult Index() + { + return View(); + } + } +} +视图:你可以在 Views 目录下为控制器创建视图文件。例如,为 ProductController 创建 Index.cshtml 视图文件。 + +示例: + +@* Views/Product/Index.cshtml *@ +

Product List

+

Here you can list all your products.

+7. 配置数据库(如果需要) +如果你的项目需要连接数据库,你可以通过 Entity Framework Core 来配置和使用数据库。 + +安装相关的 NuGet 包: + +dotnet add package Microsoft.EntityFrameworkCore.SqlServer +dotnet add package Microsoft.EntityFrameworkCore.Tools +创建数据库上下文类,并在 Startup.cs 中配置数据库连接。 + +例如,创建 ApplicationDbContext.cs: + +using Microsoft.EntityFrameworkCore; + +public class ApplicationDbContext : DbContext +{ + public DbSet Products { get; set; } + + public ApplicationDbContext(DbContextOptions options) + : base(options) + { + } +} +8. 调整路由(可选) +如果你想修改默认路由,可以在 Program.cs 或 Startup.cs 文件中进行配置。 + +例如,默认路由通常是: + +app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}"); +你可以根据需要调整路由规则。 + +9. 发布应用(生产环境) +一旦你完成了 MVC 应用开发并准备部署到生产环境,可以使用以下命令将应用发布为可部署的文件: + +dotnet publish --configuration Release --output ./publish +然后,将生成的文件上传到服务器,或者通过 Docker 等工具进行部署。 \ No newline at end of file diff --git "a/202411114-mvc\345\221\275\344\273\244.md" "b/202411114-mvc\345\221\275\344\273\244.md" new file mode 100644 index 0000000..ecd89ce --- /dev/null +++ "b/202411114-mvc\345\221\275\344\273\244.md" @@ -0,0 +1,48 @@ +命令 +mvc +MVC(Model-View-Controller)是一种软件架构模式,用于组织和管理应用程序的代码 +mvc重要的三部分 +(1)‌模型(Model)‌:负责存储系统的中心数据,提供访问数据的函数,封装了应用程序的功能内核。 +(2)视图(View)‌:负责将信息显示给用户,可以定义多个视图来展示不同的用户界面。 +(3)控制器(Controller)‌:处理用户输入的信息,控制用户输入,并向模型发送数据,是应用程序中处理用户交互的部分‌。 +Mvc指令 +1. 创建一个文件夹 +2. 创建新的解决方案 +dotnet new sln +3. 创建一个新的mvc的项目 +dotnet new mvc +dotnet new mvc -o 项目名(src) +例如:dotnet new mvc -o .\src\Blog.web +4.添加类库项目 +dotnet new classlib -o .\src\Blog.Dao +5.添加项目到解决方案 +dotnet sln add .\src\Blog.Dao +6. 编译 +dotnet build +7. 运行热加载 +dotnet watch --project ..\src\Blog +命令: + ls + 作用:查询指定目录下的内容(文件或者文件夹) + 语法:ls目录 + 选项:a(列出所有内容);l(以列表形式列出) + cd + 作用:切换当前目录到指定目录 + mkdir + 作用:创建文件夹 + 形式:mkdir XXX + rm + 作用:删除文件夹或目录,默认情况下只能删除空件 + 语法:rm XXX + vim + 作用:编辑文件 + + scp + 作用:用于传输内容到指定服务器 + 语法:scp 文件 账号@服务器地址(ip或域名都以):/xxx/xxx + cp + 作用:复制文件或文件夹 + 语法:cp 源文件 目标目录 + 常用选项:r 递归传输目录下所有的内容 + mv + 作用:移动文件或文件夹 \ No newline at end of file diff --git "a/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" "b/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" new file mode 100644 index 0000000..99deb60 --- /dev/null +++ "b/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" @@ -0,0 +1,165 @@ +1. 准备工作 +在开始之前,请确保你的服务器上已经安装了以下内容: + +.NET SDK 和运行时:确保服务器上安装了 .NET 的运行时,至少需要安装与项目相匹配的版本(如 .NET 7 或 .NET 8)。 +Nginx:用作反向代理,确保服务器上已经安装 Nginx。 +安装 .NET SDK 和运行时 +如果你的服务器还没有安装 .NET,可以使用以下命令进行安装(以 Debian 为例): + +参考微软官方.NET文档 + +在 Debian 上安装 .NET - .NET | Microsoft Learn + +Debian 12 +使用 APT 进行安装可通过几个命令来完成。 安装 .NET 之前,请运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。 + +打开终端并运行以下命令: + +wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +sudo dpkg -i packages-microsoft-prod.deb +rm packages-microsoft-prod.deb +安装 SDK +.NET SDK 使你可以通过 .NET 开发应用。 如果安装 .NET SDK,则无需安装相应的运行时。 若要安装 .NET SDK,请运行以下命令: + +sudo apt-get update && \ + sudo apt-get install -y dotnet-sdk-8.0 +若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。 + +安装运行时 +通过 ASP.NET Core 运行时,可以运行使用 .NET 开发且未提供运行时的应用。 以下命令将安装 ASP.NET Core 运行时,这是与 .NET 最兼容的运行时。 在终端中,运行以下命令: + +sudo apt-get update && \ + sudo apt-get install -y aspnetcore-runtime-8.0 +作为 ASP.NET Core 运行时的一种替代方法,你可以安装不包含 ASP.NET Core 支持的 .NET 运行时:将上一命令中的 aspnetcore-runtime-8.0 替换为 dotnet-runtime-8.0: + +sudo apt-get install -y dotnet-runtime-8.0 +若要了解如何使用 .NET CLI,请参阅 .NET CLI 概述。 + +检查版本 +使用命令,如果有返回说明安装成功 + +dotnet --version +安装 Nginx(已安装的话省略) +可以使用以下命令在 Debian 上安装 Nginx: + +sudo apt update +sudo apt install nginx +安装完成后,你可以使用以下命令检查 Nginx 是否正常启动: + +sudo systemctl start nginx +sudo systemctl enable nginx +2. 发布 .NET 应用 +一般来说使用以下命令就可以,如需更多指定选项请使用第二个 + +dotnet publish +首先,使用 dotnet publish 命令将应用程序发布为可以在生产环境中运行的文件。 + +dotnet publish --configuration Release --output ./publish +说明: +--configuration Release:指定使用发布模式,这会优化项目并去掉调试信息。 +--output ./publish:指定发布文件输出的目录。 +发布完成后,生成的文件会放在 ./publish 目录中。这些文件包括所有的依赖项、程序集和可执行文件。 + +3. 上传应用到服务器 +使用 scp 或任何文件传输工具,将发布的文件上传到服务器。例如,你可以使用 scp 命令将文件夹上传到服务器的 /var/www/myapp 目录: + +scp -r ./publish/* user@your_server_ip:/var/www/myapp +说明: +user 是服务器的用户名,your_server_ip 是你的服务器的 IP 地址。 +上传的文件将存放在服务器的 /var/www/myapp 目录中。 +4. 配置 .NET 应用为后台服务 (根据需求可选) +为了确保应用在后台运行,可以使用 systemd 来管理 .NET 应用。首先,我们需要创建一个 systemd 服务文件。 + +创建一个新的 systemd 服务文件: +sudo nano /etc/systemd/system/myapp.service +在文件中添加以下内容: +[Unit] +Description=My .NET Application +After=network.target + +[Service] +WorkingDirectory=/var/www/myapp +ExecStart=/usr/bin/dotnet /var/www/myapp/MyApp.dll +Restart=always +# Uncomment to allow for environment variable configuration (optional) +# Environment=ASPNETCORE_ENVIRONMENT=Production +User=www-data +Group=www-data +# Uncomment to set a specific user/group for your application + +[Install] +WantedBy=multi-user.target +解释: +WorkingDirectory:指定应用程序所在的目录。 +ExecStart:指定启动应用的命令,这里假设应用的入口文件是 MyApp.dll。 +Restart=always:应用崩溃时自动重启。 +User=www-data 和 Group=www-data:指定运行应用的用户和组,通常 Web 服务器的用户是 www-data。 +保存并关闭文件后,重新加载 systemd 配置: +sudo systemctl daemon-reload +启动应用并设置为开机自启动: +sudo systemctl start myapp +sudo systemctl enable myapp +使用以下命令检查应用状态: +sudo systemctl status myapp +说明: +现在,.NET 应用会在后台作为服务运行,并会在服务器重启后自动启动。 +5. 配置 Nginx 反向代理 +Nginx 将用作反向代理服务器,将外部请求转发给你在后台运行的 .NET 应用。首先,编辑 Nginx 配置文件: + +sudo nano /etc/nginx/sites-available/myapp +添加以下配置: + +简略配置 + +server { + listen 80; # 监听80端口 + server_name 你的域名或者IP; + + location / { + proxy_pass http://localhost:5000; # 假设你的 .NET 应用监听在 5000 端口 + } +} +详细配置 + +server { + listen 80; # 监听80端口 + server_name 你的域名或者IP; + + location / { + proxy_pass http://localhost:5000; # 假设你的 .NET 应用监听在 5000 端口 + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} +解释: +listen 80;:Nginx 会监听 80 端口(即 HTTP)。 +server_name your_domain_or_ip;:这里替换为你的域名或者 IP 地址。 +proxy_pass http://localhost:5000;:将请求转发到本地 5000 端口(假设你的 .NET 应用在该端口上监听)。 +6. 测试 Nginx 配置并重新加载 +测试 Nginx 配置是否正确: + +sudo nginx -t +如果没有错误,重新加载 Nginx 配置: + +sudo systemctl reload nginx +7. 防火墙设置(如果安装了ufw防火墙) +如果服务器上启用了防火墙,确保 80 端口是开放的: + +sudo ufw allow 'Nginx Full' +这样,Nginx 将开始接受外部 HTTP 请求。 + +ufw 防火墙配置解释: +UFW(Uncomplicated Firewall) 是一个用于配置和管理 Linux 防火墙的工具,它基于 iptables,提供了一个简化的命令行接口。 +Nginx Full 是 UFW 防火墙的一个预定义规则,允许 HTTP 和 HTTPS 流量。具体包括: +80/tcp(HTTP 默认端口) +443/tcp(HTTPS 默认端口) +8. 完成部署 +现在,.NET 应用已经通过 Nginx 反向代理部署到服务器上,运行后就可以通过域名或 IP 地址访问。 + +总结: +我们首先将 .NET 应用发布并上传到服务器。 +使用 systemd 配置后台运行应用,确保应用在服务器重启后能自动启动。 +配置 Nginx 作为反向代理,将外部请求转发给 .NET 应用。 +运行并尝试访问。 \ No newline at end of file diff --git "a/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" "b/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" new file mode 100644 index 0000000..15af464 --- /dev/null +++ "b/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" @@ -0,0 +1,68 @@ +创建和管理 .NET 解决方案 +创建基础解决方案文件 +要创建一个新的解决方案文件,可以使用以下命令: + +dotnet new sln -n SlnProject +这条命令会在当前目录下创建一个名为 SlnProject.sln 的解决方案文件。-n 参数用于指定解决方案的名称。 + +说明: +dotnet new sln 是创建一个新的解决方案的命令。 +-n 参数后接的是解决方案的名称,SlnProject 是示例名称。 +在特定目录下创建解决方案 +如果你希望在指定目录下创建解决方案文件,可以使用 -o 或 --output 参数指定输出目录: + +dotnet new sln -o MySolution +这条命令会在当前目录下创建一个名为 MySolution 的文件夹,并在其中创建一个名为 MySolution.sln 的解决方案文件。 + +说明: +-o 或 --output 用于指定输出目录,MySolution 是你希望存放解决方案文件的目录。 +如果 MySolution 目录不存在,命令会自动创建该目录。 +创建类库项目(仅拓展,暂时不用) +要创建一个新的类库项目,例如针对 Entity Framework Core SQL Server 的类库,可以使用以下命令: + +dotnet new classlib -o MyClassLib.EntityFrameworkCore.sqlserver +这条命令会在当前目录下创建一个名为 MyClassLib.EntityFrameworkCore.sqlserver 的文件夹,并在其中创建一个类库项目。 + +说明: +dotnet new classlib 用于创建一个新的类库项目,classlib 是类库模板的缩写。 +-o 参数指定了输出目录及项目名称。 +向解决方案中添加项目 +将项目添加到解决方案中,你需要指定项目文件(.csproj)的路径: + +dotnet sln add 路径 +这条命令会将项目添加到当前的解决方案中。 + +说明: +dotnet sln add 命令将指定的项目文件添加到解决方案。 +路径可以是相对路径或绝对路径,确保项目文件(.csproj)在正确的位置。 +编译整个解决方案 +要编译解决方案中的所有项目,可以使用以下命令: + +dotnet build +这条命令会编译解决方案中的所有项目并生成输出文件。 + +说明: +dotnet build 会根据项目文件中的配置信息进行编译,默认编译的是 Debug 配置。 +编译完成后,生成的输出会存放在 bin/Debug 或 bin/Release 目录中,具体取决于使用的配置。 +在开发过程中实时监控并自动构建 +在开发过程中,可以使用 dotnet watch 命令实时监视文件更改,并自动重新构建项目: + +dotnet watch +这条命令会监视源文件的变化,一旦有文件更改,就会自动触发重新编译,适用于开发调试阶段。 + +说明: +dotnet watch 非常适合在开发过程中使用,可以快速反馈代码修改,减少手动构建的步骤。 +默认情况下,它会监控项目中的源文件和资源文件。 +发布项目 +要将项目发布到某个目标环境(如服务器、云端等),可以使用 dotnet publish 命令,并指定发布配置和输出目录: + +dotnet publish +这条命令会将项目发布为发布版本。 + +额外参数及说明(可选): +--configuration Release 参数指定了发布配置为 Release(用于生产环境的构建配置)。 +--output ./publish 参数指定了发布文件的输出目录。 +发布时,dotnet publish 会根据项目的依赖和配置,生成能够在目标环境中运行的文件。 + +部署 .NET 应用 +将publish文件夹的内容上传至服务器对应网站文件夹(var/www/网站文件夹)即可 \ No newline at end of file diff --git "a/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" "b/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..03e553a --- /dev/null +++ "b/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,93 @@ +创建新的控制器、文件夹和视图文件 +1. 创建新控制器 +在 ASP.NET Core MVC 中,控制器用于处理用户请求并返回视图或数据。每个控制器类通常位于 Controllers 文件夹中,继承自 Controller 类。 + +控制器的命名规则通常是:控制器名称 + Controller,例如:HomeController、ProductController。 + +下面用HomeController举例子 + +示例代码: +using Microsoft.AspNetCore.Mvc; // 记得引用 Microsoft.AspNetCore.Mvc 命名空间 + +namespace MyFirstMvc.Controllers +{ + public class HomeController : Controller // 继承自 Controller 基类 + { + public IActionResult Index() + { + return View(); // 返回 Index 视图 + } + + public IActionResult About() + { + return View(); // 返回 About 视图 + } + } +} +解释: +HomeController:这是新创建的控制器类,继承自 Controller 类。记得在文件顶部引用 Microsoft.AspNetCore.Mvc 命名空间,否则无法使用 Controller 类。 +Index 和 About 方法:这两个方法是控制器的动作(Action),分别用于响应 /Home/Index 和 /Home/About 请求。 +return View();:表示返回视图,默认查找名为 Index.cshtml 和 About.cshtml 的视图。 +2. 创建视图文件夹和视图文件 +视图是用户最终看到的页面。通常情况下,视图文件存放在 Views 文件夹中,按照控制器名称组织。 + +步骤: +在 Views 文件夹中创建一个新的文件夹,命名为与控制器名称相同的名字(例如:Home)。 +在 Views/Home 文件夹中,创建与控制器方法同名的视图文件(例如:Index.cshtml 和 About.cshtml)。 +示例文件夹和文件结构: +MyFirstMvc +│ +├── Controllers +│ └── HomeController.cs +│ +└── Views + └── Home + ├── Index.cshtml + └── About.cshtml +视图文件示例: +Views/Home/Index.cshtml 文件内容: +@{ + Layout = "_Layout"; // 使用布局视图 +} + +

欢迎来到 HomeController 的 Index 页面

+

这是 HomeController 中的 Index 方法返回的视图。

+Views/Home/About.cshtml 文件内容: +@{ + Layout = "_Layout"; // 使用布局视图 +} + +

关于页面

+

这是 HomeController 中的 About 方法返回的视图。

+解释: +@{ Layout = "_Layout"; }:这行代码表示当前视图使用 Views/Shared/_Layout.cshtml 作为布局视图,布局文件通常用于放置网站的头部、导航和底部等共享部分。 +视图内容:每个视图文件显示与控制器方法对应的内容。在 Index.cshtml 中,显示的是 Index 页面的内容;在 About.cshtml 中,显示的是 About 页面的内容。 +3. 配置控制器和视图之间的连接 +步骤: +在控制器方法中使用 return View(); 返回视图。 +如果视图文件夹和文件名与控制器和方法名称一致,MVC 会自动找到相应的视图文件。 +例如,在 HomeController 中: + +public IActionResult Index() +{ + return View(); // 自动查找 Views/Home/Index.cshtml +} + +public IActionResult About() +{ + return View(); // 自动查找 Views/Home/About.cshtml +} +解释: +return View();:在没有显式指定视图名称的情况下,ASP.NET Core MVC 会自动查找与当前控制器方法同名的视图文件。 +Index 方法会查找 Views/Home/Index.cshtml。 +About 方法会查找 Views/Home/About.cshtml。 +4. 运行项目并测试 +在创建好控制器和视图之后,可以运行项目并通过浏览器访问新创建的页面。 + +访问 /Home/Index 应该会显示 Views/Home/Index.cshtml 的内容。 +访问 /Home/About 应该会显示 Views/Home/About.cshtml 的内容。 +5. 总结 +控制器:处理请求并返回视图。控制器的文件通常放在 Controllers 文件夹中。就像是网站的“导游”,它会根据用户的需求指引你到正确的页面。 +视图:展示给用户的页面。视图文件放在 Views 文件夹中,并按照控制器名称组织。就像是展示给用户的网页内容,是你在浏览器中看到的部分。 +文件命名约定:控制器文件以 Controller 结尾,视图文件与控制器方法同名。就像是给控制器和视图起名字的规范,帮助系统知道哪个控制器和哪些视图是相对应的。 +布局视图:可以使用 _Layout.cshtml 来定义网站的公共布局部分(如头部、导航、底部等)。就像是网页的“模板”,确保每个页面都有相同的头部、导航和底部,让网站看起来一致而不重复。 \ No newline at end of file -- Gitee From 65594bb86f16518be9224116e6aa8476cd9f8ae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E5=98=89=E6=80=A1=E5=A4=A7=E5=B8=85=E5=93=A5?= <2654312426@qq.com> Date: Thu, 21 Nov 2024 08:50:35 +0800 Subject: [PATCH 2/2] 1118 --- ...241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" | 0 .../202411114-mvc\345\221\275\344\273\244.md" | 0 ...46\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" | 0 ...20\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" | 0 ...46\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename "20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" => "19\344\275\225\345\230\211\346\200\241/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" (100%) rename "202411114-mvc\345\221\275\344\273\244.md" => "19\344\275\225\345\230\211\346\200\241/202411114-mvc\345\221\275\344\273\244.md" (100%) rename "20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" => "19\344\275\225\345\230\211\346\200\241/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" (100%) rename "20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" => "19\344\275\225\345\230\211\346\200\241/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" (100%) rename "20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" => "19\344\275\225\345\230\211\346\200\241/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" (100%) diff --git "a/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" "b/19\344\275\225\345\230\211\346\200\241/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" similarity index 100% rename from "20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" rename to "19\344\275\225\345\230\211\346\200\241/20241111-\345\210\233\345\273\272mvc\351\241\271\347\233\256.md" diff --git "a/202411114-mvc\345\221\275\344\273\244.md" "b/19\344\275\225\345\230\211\346\200\241/202411114-mvc\345\221\275\344\273\244.md" similarity index 100% rename from "202411114-mvc\345\221\275\344\273\244.md" rename to "19\344\275\225\345\230\211\346\200\241/202411114-mvc\345\221\275\344\273\244.md" diff --git "a/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" "b/19\344\275\225\345\230\211\346\200\241/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" similarity index 100% rename from "20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" rename to "19\344\275\225\345\230\211\346\200\241/20241113-.net\344\270\216\346\234\215\345\212\241\345\231\250\347\273\223\345\220\210.md" diff --git "a/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" "b/19\344\275\225\345\230\211\346\200\241/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" similarity index 100% rename from "20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" rename to "19\344\275\225\345\230\211\346\200\241/20241113-\345\210\233\345\273\272\345\222\214\347\256\241\347\220\206.net\350\247\243\345\206\263\346\226\271\346\241\210.md" diff --git "a/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" "b/19\344\275\225\345\230\211\346\200\241/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" similarity index 100% rename from "20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" rename to "19\344\275\225\345\230\211\346\200\241/20241114-\345\210\233\345\273\272\346\226\260\347\232\204\346\216\247\345\210\266\345\231\250.md" -- Gitee