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