diff --git "a/29\345\274\240\346\234\210\346\241\202/20241114-\350\241\250\346\240\274\346\225\210\346\236\234\345\233\276.png" "b/29\345\274\240\346\234\210\346\241\202/20241114-\350\241\250\346\240\274\346\225\210\346\236\234\345\233\276.png" deleted file mode 100644 index 1cb65a30e2835434a911a82c091f4f369a0e82b9..0000000000000000000000000000000000000000 Binary files "a/29\345\274\240\346\234\210\346\241\202/20241114-\350\241\250\346\240\274\346\225\210\346\236\234\345\233\276.png" and /dev/null differ diff --git "a/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241112-\346\220\255\345\273\272\351\235\231\346\200\201\347\275\221\347\253\231.md" "b/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241112-\346\220\255\345\273\272\351\235\231\346\200\201\347\275\221\347\253\231.md" deleted file mode 100644 index 69f684fd6753b5e1923d9c242cfc77db4fd28d5a..0000000000000000000000000000000000000000 --- "a/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241112-\346\220\255\345\273\272\351\235\231\346\200\201\347\275\221\347\253\231.md" +++ /dev/null @@ -1,65 +0,0 @@ -# 搭建静态网站 - -### 1、ping 域名(域名要解析) - -### 2、登录 -- ssh root@域名 --> yes --> 密码 - -### 3、更新 -- apt update -- apt upgrade -y (确认更新) - -### 4、安装nginx -- systemctl status nginx (先检查是否安装了,否就继续安装,是就下一步) -- apt install nginx -y (安装nginx) -- systemctl status nginx (有绿色的就代表安装完成了) - -### 5、切换目录 -- cd /var/www - -### 6、创建mkdir -- mkdir.名字.域名 -- mkdir.域名 - -### 6、查看目录 -- ls - -### 7、进入mkdir -- cd 域名/ - -### 8、创建html -- 通过上传scp文件:scp 文件 root@域名:/var/www/文件 (在vscode的终端打) -- vim index.html - -### 9、进入html页面 -- 按 i 进入编写模式:`````` -`````` -```文本``` -```想打的字``` -`````` -- 按Esc退出编写模式,然后输入:wq退出 - -### 10、查看网站首页: -- cat index.html - -### 11、创建文件 -- vim .名字.域名.conf -- vim .域名.conf - -### 12、编写conf: -- ```server{ ``` - listen 80; - server_name 域名 - location /{root /var/www/域名; - index index.html;} -```}``` - -### 13、测试是否配置ok,如不行,重新修改配置文件 -- nginx -t -- nginx -s reload - -### 14、上面的步骤都没问题就可以去网页打开自己的域名了 - -思维导图: -![屏幕截图 2024-11-17 205541](https://sgqt.oss-cn-hangzhou.aliyuncs.com/屏幕截图 2024-11-17 205541.png) - diff --git "a/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241114-mvc\347\273\223\346\236\204.md" "b/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241114-mvc\347\273\223\346\236\204.md" deleted file mode 100644 index 5b9946f03c8cdfd8e323c807c48037889475b890..0000000000000000000000000000000000000000 --- "a/29\345\274\240\346\234\210\346\241\202/\347\254\224\350\256\260/20241114-mvc\347\273\223\346\236\204.md" +++ /dev/null @@ -1,43 +0,0 @@ -# MVC项目结构 - -## 创建文件(开头第一个字母大写) -- mkdir 项目名称 - -### 1、创建一个项目 -- dotnet new sln -n 解决方案名称 - -### 2、创建一个src -- dotnet .\项目名称\src - -### 3、创建一个mvc -- dotnet new mvc -o .\项目名称\src\项目名称.名称 - -### 4、创建多个类库 -- dotnet new calsslib -o 类库名 - -### 5、解决方案和项目绑定 -- dotnet sln add 绑定项目的路径 - -### 6、项目启动和关闭 -- dotnet run -- ctrl+c - -### 7、大招 -- dotnet watch - - -## mvc项目解析 -### 改端口位置 -- properties -->launch Settings.json - -### 应用程序的入口 -- program.cs - -## views引用文件 -### ~/css/文件 - -思维导图: -![屏幕截图 2024-11-17 211932](https://sgqt.oss-cn-hangzhou.aliyuncs.com/屏幕截图 2024-11-17 211932.png) - -作业: -![20241114-表格效果图](https://sgqt.oss-cn-hangzhou.aliyuncs.com/20241114-表格效果图.png) \ No newline at end of file diff --git a/readme.md b/readme.md index afe258797b50f7d30e1aa239c313d07833d67b3e..3aeae2030fc110c1a29de739e1347f280d8ecc16 100644 --- a/readme.md +++ b/readme.md @@ -1,4 +1,4 @@ -## 23级软件5班 MVC课堂笔记 -上课录屏地址:https://www.alipan.com/s/HMxZbQeNagN - +## 23级软件5班 MVC课堂笔记 +上课录屏地址:https://www.alipan.com/s/HMxZbQeNagN + 石可破也,而不可夺坚;丹可磨也,而不可夺赤。《吕氏春秋.诚廉》 \ No newline at end of file diff --git "a/\344\275\225\347\264\253\346\202\246/20241114-\346\236\204\345\273\272\351\241\271\347\233\256.md" "b/\344\275\225\347\264\253\346\202\246/20241114-\346\236\204\345\273\272\351\241\271\347\233\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..1c475bd23b8da1ef6f9dfcb4386b3aa1d55eba6c --- /dev/null +++ "b/\344\275\225\347\264\253\346\202\246/20241114-\346\236\204\345\273\272\351\241\271\347\233\256.md" @@ -0,0 +1,5 @@ +文件夹 --> 解决方案(创建语法 : dotnet new sln -n 解决方案名) +文件夹 --> src文件夹 --> mvc项目(创建语法 : dotnet new mve -o mvc项目名) +类库(多个项目创建语法 : dotnet new calsslib -o 类库名) +项目启动:dotnet run ,关闭:ctrl + c +作业:![](https://gitee.com/he-ziyueL/img/raw/master/20241117181102.png) \ No newline at end of file diff --git "a/\345\202\205\344\277\212\346\235\260/20241115-\347\254\224\350\256\260\344\273\245\345\217\212\344\275\234\344\270\232.md" "b/\345\202\205\344\277\212\346\235\260/20241115-\347\254\224\350\256\260\344\273\245\345\217\212\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..3cdef41254058255722175de249b07236cf5a772 --- /dev/null +++ "b/\345\202\205\344\277\212\346\235\260/20241115-\347\254\224\350\256\260\344\273\245\345\217\212\344\275\234\344\270\232.md" @@ -0,0 +1,9 @@ +#### 笔记 + +* 1、dotnet new mvc -o 名 cd 名 Views->Home->项目名.cshtml Controllers引用项目方法名 +* 2、wwwroot->css->建项目名.css->写样式 +* 3、.cshtml里用link引用样式 href="~/css/项目名.css" +* 4、dotnet run --project 名 +* 5、ctrl+c 结束任务 +#### 作业 +![alt text](bfe72b83a3e9e95a79aff048c1fcfae-1.png) \ No newline at end of file diff --git "a/\345\210\230\345\275\254\345\213\207/\350\257\276\345\240\202\347\254\224\350\256\260/20241114-\347\275\221\347\253\231\346\220\255\345\273\272.md" "b/\345\210\230\345\275\254\345\213\207/\350\257\276\345\240\202\347\254\224\350\256\260/20241114-\347\275\221\347\253\231\346\220\255\345\273\272.md" new file mode 100644 index 0000000000000000000000000000000000000000..9ecc0928f02909978f0564cb68b9551135cb9f8b --- /dev/null +++ "b/\345\210\230\345\275\254\345\213\207/\350\257\276\345\240\202\347\254\224\350\256\260/20241114-\347\275\221\347\253\231\346\220\255\345\273\272.md" @@ -0,0 +1,39 @@ +# 网站搭建 +1. ping 域名 +2. ssh root@域名 输入密码 +3. apt update +4. apt upgrade-y +5. syestemctl status nginx +6. apt install nginx -y(安装) +7. mkdir /var/www +8. cd /var/www +9. mkdir 域名 +10. cd 域名 +11. vim index.html +12. cat index.html +13. cd /etc/nginxx/conf.d/ +14. vim 域名.conf +15. +``` +server{ + + listen 80; #监听的端口 + server_name 9ihub.com; #监听的域名 + location / { + root /var/www/9ihub.com ;#网站所在路径 + index index.html; #默认的首页文件 + } +} +``` +16. nginx -t +17. nginx -s reload + +# 搭建MVC项目 +1. dotnet new mvc -o 文件名 +2. dotnet run -project .\文件名\ +3. dotnet watch +4. dotnet build +5. 解决方案:dotnet new sln -o .\文件名\ + +## 作业 +![20241114增删改查](https://lby530.oss-cn-fuzhou.aliyuncs.com/imgs/20241114增删改查.png) \ No newline at end of file diff --git "a/\345\210\230\345\277\203\346\200\241/20241114-\345\210\233\345\273\272MVC\351\241\271\347\233\256.md" "b/\345\210\230\345\277\203\346\200\241/20241114-\345\210\233\345\273\272MVC\351\241\271\347\233\256.md" new file mode 100644 index 0000000000000000000000000000000000000000..052a6e8b712438cc8e7cbe3018e4ac98c1678e0a --- /dev/null +++ "b/\345\210\230\345\277\203\346\200\241/20241114-\345\210\233\345\273\272MVC\351\241\271\347\233\256.md" @@ -0,0 +1,79 @@ +## 创建MVC项目 + +### 1. 安装.NET SDK + +使用以下命令检查是否已安装: +```bash +dotnet --version +``` + +### 2. 创建一个新的 MVC 项目 + +```bash +dotnet new mvc -n 项目名称 +``` + + +### 3. 进入项目目录 +创建完成后,进入你的项目目录: + +```bash +cd MyMvcApp +``` + +### 4. 运行项目 +运行你的MVC项目,启动开发服务器: + +```bash +dotnet run +``` + +### 5. 项目结构 +创建的 MVC 项目会包含以下目录和文件: + +- **Controllers**:控制器类,负责处理用户的请求并返回响应。 + +- **Views**:视图文件,使用 Razor 语法来呈现 HTML 页面。 + +- **Models**:用于存放数据模型的类。 + +- **wwwroot**:包含静态文件,如 CSS、JavaScript 和图片。 + +- **appsettings.json**:应用程序的配置文件。 + +- **Program.cs**:配置和启动应用程序的入口点。 + +### 访问控制器和视图 + + +- ### 最基本的控制器结构 + + ```csharp + csharp复制代码using Microsoft.AspNetCore.Mvc; + + namespace MyMvcApp.Controllers + { + // 控制器类继承自 Controller 基类 + public class HomeController : Controller + { + // 最简单的操作方法,返回视图 + public IActionResult Index() + { + return View(); + } + } + } + ``` + +### 生产环境 +使用以下命令将应用发布为可部署的文件: + +```bash +dotnet publish --configuration Release --output ./publish +``` + + + + + + diff --git "a/\345\210\230\345\277\203\346\200\241/20241114\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" "b/\345\210\230\345\277\203\346\200\241/20241114\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..0bd8eb9c57280db23da08719dfda7f298cc7adfb Binary files /dev/null and "b/\345\210\230\345\277\203\346\200\241/20241114\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" differ diff --git "a/\345\210\230\345\277\203\346\200\241/20241115-\347\216\257\345\242\203\345\217\230\351\207\217.md" "b/\345\210\230\345\277\203\346\200\241/20241115-\347\216\257\345\242\203\345\217\230\351\207\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..9ffe675b46ae609145312e03e862d53cf8f0b653 --- /dev/null +++ "b/\345\210\230\345\277\203\346\200\241/20241115-\347\216\257\345\242\203\345\217\230\351\207\217.md" @@ -0,0 +1,92 @@ +## 配置 .NET 环境变量 + +### 步骤: +1. **打开系统环境变量设置**: + +2. **修改或新增环境变量**: + + +### 需要设置的常见环境变量: +- `DOTNET_HOME`:设置 .NET SDK 的安装路径。 +- `PATH`:将 .NET SDK 和运行时的路径添加到系统路径中,以便在命令行中直接使用 `dotnet` 命令。 + +### 具体配置: +## 1. 配置 `DOTNET_HOME` 环境变量 +1. 点击 **新建**,在 **变量名** 中输入 `DOTNET_HOME`,在 **变量值** 中输入 .NET SDK 的安装路径。例如: + - `变量名`:`DOTNET_HOME` + - `变量值`:`C:\Program Files\dotnet` + + + +## 2. 更新 `PATH` 环境变量 +1. 找到 **系统变量** 中的 `Path` 变量,点击 **编辑**。 +2. 在弹出的编辑窗口中,点击 **新建**,然后添加以下路径: + - `C:\Program Files\dotnet` + - 这样可以确保在任何命令行终端(如命令提示符、PowerShell)中都能找到 `dotnet` 命令。 + +3. 点击 **确定** 保存更改。 + +### 示例环境变量配置: +- `DOTNET_HOME`:`C:\Program Files\dotnet` +- `PATH`(附加):`C:\Program Files\dotnet` + +## 2. 使用命令行设置环境变量 + +你可以通过命令行快速设置 .NET 环境变量,使用 `setx` 命令来永久设置环境变量。 + +## 步骤: + +1. **查看当前环境变量**: + 打开命令提示符(按 `Win + R`,输入 `cmd`,然后按 Enter),使用以下命令查看当前会话中的环境变量: + + ```cmd + set + ``` + + 该命令将列出当前命令行会话的所有环境变量。 + +2. **设置 `DOTNET_HOME` 环境变量**: + 使用 `setx` 命令来永久设置 `DOTNET_HOME` 环境变量: + + ```cmd + setx DOTNET_HOME "C:\Program Files\dotnet" + ``` + +3. **更新 `PATH` 环境变量**: + 使用以下命令将 `.NET` 的路径添加到 `PATH` 环境变量中: + + ```cmd + setx PATH "%PATH%;C:\Program Files\dotnet" + ``` + +## 3. 使用 PowerShell 配置环境变量 + +PowerShell 提供了另一种方式来设置环境变量,以下是如何通过 PowerShell 设置 `.NET` 相关的环境变量。 + +### 步骤: +1. **设置 `DOTNET_HOME` 环境变量**: + ```powershell + [System.Environment]::SetEnvironmentVariable("DOTNET_HOME", "C:\Program Files\dotnet", [System.EnvironmentVariableTarget]::User) + ``` + +2. **更新 `PATH` 环境变量**: + ```powershell + [System.Environment]::SetEnvironmentVariable("PATH", "$env:PATH;C:\Program Files\dotnet", [System.EnvironmentVariableTarget]::User) + ``` + + +## 4. 验证 .NET 环境变量配置 + +配置完环境变量后,你可以通过以下步骤验证是否正确配置: + +1. 打开命令提示符或 PowerShell。 +2. 输入以下命令查看是否能正确识别 `dotnet` 命令: + ```cmd + dotnet --version + ``` +3. 如果输出了 .NET SDK 的版本信息,则说明环境变量配置成功。 + +- **DOTNET_HOME**:配置 .NET SDK 安装路径,便于其他程序识别 .NET 环境。 +- **PATH**:将 .NET SDK 路径添加到 `PATH` 环境变量中,确保可以在命令行中运行 `dotnet` 命令。 +- **命令行设置**:可以通过 `setx` 或 PowerShell 设置环境变量,确保 `.NET` 环境配置永久生效。 +- **验证配置**:通过 `dotnet --version` 命令验证环境变量是否配置正确。 diff --git "a/\345\215\242\346\200\235\346\207\277/20241114_\350\257\276\345\240\202\347\254\224\350\256\260+\344\275\234\344\270\232.md" "b/\345\215\242\346\200\235\346\207\277/20241114_\350\257\276\345\240\202\347\254\224\350\256\260+\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..42015d13b82cd47b9d8a81fd9b48616ada6ae51e --- /dev/null +++ "b/\345\215\242\346\200\235\346\207\277/20241114_\350\257\276\345\240\202\347\254\224\350\256\260+\344\275\234\344\270\232.md" @@ -0,0 +1,15 @@ +# 笔记 +### 学会使用vscode终端命令写sln解决方案,mvc项目模型组 +#### 命令有: +> 1、dotnet new mvc -o 名 + 2、dotnet new sln -o 名 + 3、mkdir src + 4、dotnet sln add 项目路径 + 5、dotnet run + 6、结束终端任务快捷键:ctrl+c + 7、按tab键切换目录 + 8、dotnet watch + 9、dotnet build +# 作业 +**效果:** +![](https://gitee.com/lu-siyi-641/gitee-image-warehouse/raw/master/photos/20241117150337.png) \ No newline at end of file diff --git "a/\345\215\242\346\200\235\346\207\277/20241115_\350\257\276\345\240\202\347\254\224\350\256\260.md" "b/\345\215\242\346\200\235\346\207\277/20241115_\350\257\276\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..c759e59becf6389fac11be4774c3b7a752f1e625 --- /dev/null +++ "b/\345\215\242\346\200\235\346\207\277/20241115_\350\257\276\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,36 @@ +# 笔记 +``` +1. :建一个文件夹:mkdir Blog +2. :在创建的文件夹下(按tab建切换)新建sln文件:dotnet new sln -o .\Blog\ +3. :在创建的文件夹下新建src文件:mkdir .\Blog\src +4. :在src文件下新建一个mvc文件:dotnet new mvc -o .\Blog\src\Blog.Web + (该意思是在src目录下新建一个名叫Blog.Web的mvc文件) +5. :将mvc项目文件添加到sln解决方案当中:dotnet sln .\Blog\ add .\Blog\src\Blog.Web + (该意思是先找到sln所在目录,然后后面的文件被添加到sln里) +``` +******************** +``` +1. : dotnet new mvc -o Blog +2. : 在Home→index.cshtml里添加: + +3. :在Controllers里添加:BlogController.cs +4. :在BlogsController.cs里填写: +using Microsoft.AspNetCore.Mvc; //引入命名空间之前,要引用对应包或者库 + namespace Blog.Controllers; + public class BlogsController:Controller{ + public IActionResult Index() + { + return View(); + } + + } +5. :在Views里添加文件夹Blogs +6. :在Blogs里添加文件index.cshtml,里面可以写内容了 +7. :切换到Blog路径下:cd .\Blog\ +8. :打包:dotnet publish +9. :上传:scp -r .\bin\Release\net8.0\publish\* root@soft.com:/var/www/t5.soft.com + (*代表打包所有,"soft.com"是例子,要填写自己的服务器域名) +10.:部署:下载tabby和.NET 8.0 +``` +**端口号的数值区间是从0到65535** + diff --git "a/\345\221\250\351\231\210\345\256\271/20241112-MVC.md" "b/\345\221\250\351\231\210\345\256\271/20241112-MVC.md" new file mode 100644 index 0000000000000000000000000000000000000000..81d5e454a173a9c94ec22f1ca4b99c760825b3f9 --- /dev/null +++ "b/\345\221\250\351\231\210\345\256\271/20241112-MVC.md" @@ -0,0 +1,8 @@ +### 搭建静态网站 +``` +步骤: +1)安装nginx,命令:yum install -y ; +2)设置nginx开机启动和nginx现在启动,命令:systemctl enable nginx、systemctl start nginx +3)查看nginx,命令:systemctl status nginx(出现绿色的点就说明成功了) +4)在var下创建www文件,并在其下创建以域名为名称的文件夹,命令:mrdir/cd 域名 www +``` \ No newline at end of file diff --git "a/\345\221\250\351\231\210\345\256\271/20241114-MVC\346\246\202\345\277\265.md" "b/\345\221\250\351\231\210\345\256\271/20241114-MVC\346\246\202\345\277\265.md" new file mode 100644 index 0000000000000000000000000000000000000000..e7fa810f51b5f0b929a65cf0ee7b7ccbb79c6b95 --- /dev/null +++ "b/\345\221\250\351\231\210\345\256\271/20241114-MVC\346\246\202\345\277\265.md" @@ -0,0 +1,6 @@ +### 7 +``` +运行:dotnet run +保存运行:dotnet wacth +views:视图 +``` \ No newline at end of file diff --git "a/\345\221\250\351\231\210\345\256\271/20241114-\346\210\252\345\233\276.png" "b/\345\221\250\351\231\210\345\256\271/20241114-\346\210\252\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..7ba0bbb8d0d3dad55969bd9acb1adc00d0e6064a Binary files /dev/null and "b/\345\221\250\351\231\210\345\256\271/20241114-\346\210\252\345\233\276.png" differ diff --git "a/\345\221\250\351\231\210\345\256\271/20241115-MVC1.md" "b/\345\221\250\351\231\210\345\256\271/20241115-MVC1.md" new file mode 100644 index 0000000000000000000000000000000000000000..f6fbba209fb5b6e63e0bdf1f04036342d5d3ca1c --- /dev/null +++ "b/\345\221\250\351\231\210\345\256\271/20241115-MVC1.md" @@ -0,0 +1,11 @@ +``` +创建项目:dotnet new mvc +项目名称:dotnet new mvc -o 项目名 +进入项目:cd 项目名 +运行项目:dotnet run +.net mvc项目中指定某页面不使用模板Layout.cshtml:@{Layout = "null"} //把引号里面的改成null +创建文件夹:mrdir 名字 +控制器:Controllers +views:视图(下要创建一个与控制器同名的) +暂停:Ctrl + C 运行:Ctrl + R +``` \ No newline at end of file diff --git "a/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241112mvc\347\254\224\350\256\260.md" "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241112mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..8f377c4ba9aaf534e308d2171c29d2033440692d --- /dev/null +++ "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241112mvc\347\254\224\350\256\260.md" @@ -0,0 +1,32 @@ +## 网站搭建 +ping 域名 + +ssh root@域名 输入密码 + +apt update + +apt upgrade-y + +syestemctl status nginx + +apt install nginx -y(安装) + +mkdir /var/www + +cd /var/www + +mkdir 域名 + +cd 域名 + +vim index.html 12 .cat index.html + +cd /etc/nginxx/conf.d/ + +vim 域名.conf + +server{ listen 80; #监听的端口 server_name 9ihub.com; #监听的域名 location / { root /var/www/9ihub.com ;#网站所在路径 index index.html; #默认的首页文件 } } + +nginx -t + +nginx -s reload \ No newline at end of file diff --git "a/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241114mvc\347\254\224\350\256\260.md" "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241114mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..4ac6d2ac9698a62c02192c98058ea58fb4f4aeb4 --- /dev/null +++ "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241114mvc\347\254\224\350\256\260.md" @@ -0,0 +1,39 @@ +## 姜太公钓鱼 愿者上钩 + + +## MVC的介绍 +MVC,全称Model-View-Controller,是一种设计模式,用于构建用户界面和应用程序。 它强制性地将应用程序的输入、处理和输出分开,使得应用程序被分成三个核心部件:模型、视图和控制器。 这种设计模式有助于提高代码的可重用性、可维护性和可扩展性。 + +## MVC的三大块 +controller 控制器 + +model 模型 + +view 试图 + +## 零零散散的知识点 +dotnet new mvc -o Blog(创建一个文件夹) -o可以换成-n + +dotnet new classlib(类库) -o src/Blog(路径) + + dotnet bulid(进行编译) + + dotnet run (让所建项目里面的内容跑起来) + 注意: + (如果如果出现说此项目没有存在 我们应该写为 dotnet run --project .\\ 在斜杠里面写自己建的文件夹名称) + +dotnet watch (绝招) + + +dotnet new mvc -o 文件名 + +Views —— Home —— 项目名称.cshtml + +Controllers 引用项目名称的方法名 + + + +## 练习 + +![20241116141548](https://sjqv2tgj0.hn-bkt.clouddn.com/20241116141548.png) +![alt text](image.png) diff --git "a/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241115mvc\347\254\224\350\256\260.md" "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241115mvc\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..a25b0ce6c8d7da65cbb481d4b379e2d0c224be3c --- /dev/null +++ "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/20241115mvc\347\254\224\350\256\260.md" @@ -0,0 +1,22 @@ +## ## 姜太公钓鱼 愿者上钩 + +## 重要的几个步骤 + +1.建一个文件夹 mkdir Blog (文件夹的名字) + +2.在此文件夹里面建一个解决方案 dotnet new sln -o .\Blog\ + +3.路径 mkdir .\Blog\scr + +4.只有项目没有解决方案 dotnet new mvc -o Blog + +切换 cd.. + +dotnet bulid 编译 + +引用 + +Controllers 控制器 + +结束端口运行 ctrl+c 或者是 ctrl+z + diff --git "a/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/image.png" "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..644fe30698d2719fda31cf9b0a59083b3dae4319 Binary files /dev/null and "b/\346\241\202\350\205\276\346\274\202/\350\257\276\345\240\202\347\254\224\350\256\260/image.png" differ diff --git "a/\346\254\247\351\230\263\344\271\276/20241114\347\254\224\350\256\260.md" "b/\346\254\247\351\230\263\344\271\276/20241114\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..e6916aa955956647f36d54d9c3efc02b3aeebcfd --- /dev/null +++ "b/\346\254\247\351\230\263\344\271\276/20241114\347\254\224\350\256\260.md" @@ -0,0 +1,70 @@ +## 创建MVC项目 + +### 1. 安装.NET SDK + +使用以下命令检查是否已安装: +```bash +dotnet --version +``` + +### 2. 创建一个新的 MVC 项目 + +```bash +dotnet new mvc -n 项目名称 +``` + + +### 3. 进入项目目录 +创建完成后,进入你的项目目录: + +```bash +cd MyMvcApp +``` + +### 4. 运行项目 +运行你的MVC项目,启动开发服务器: + +```bash +dotnet run +``` + +### 5. 项目结构 +创建的 MVC 项目会包含以下目录和文件: + +- **Controllers**:控制器类,负责处理用户的请求并返回响应。 + +- **Views**:视图文件,使用 Razor 语法来呈现 HTML 页面。 + +- **Models**:用于存放数据模型的类。 + +- **wwwroot**:包含静态文件,如 CSS、JavaScript 和图片。 + +- **appsettings.json**:应用程序的配置文件。 + +- **Program.cs**:配置和启动应用程序的入口点。 + +### 访问控制器和视图 + + +- ### 最基本的控制器结构 + + ```csharp + csharp复制代码using Microsoft.AspNetCore.Mvc; + + namespace MyMvcApp.Controllers + { + // 控制器类继承自 Controller 基类 + public class HomeController : Controller + { + // 最简单的操作方法,返回视图 + public IActionResult Index() + { + return View(); + } + } + } + ``` + + + + diff --git "a/\346\254\247\351\230\263\344\271\276/20241115\347\254\224\350\256\260.md" "b/\346\254\247\351\230\263\344\271\276/20241115\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..15c59e8607231c9e0c4b37acaa1c09bbb978242b --- /dev/null +++ "b/\346\254\247\351\230\263\344\271\276/20241115\347\254\224\350\256\260.md" @@ -0,0 +1,11 @@ +# 解决方案 +(创建语法 : dotnet new sln -n 解决方案名) +src文件夹(里面的子级文件统称项目) +mvc项目(一个 | 创建语法 : dotnet new mve -o mvc项目名) +类库(多个 | 创建语法 : dotnet new calsslib -o 类库名) + +# 解决方案与项目绑定 +语法:dotnet sln add 绑定项目的路径 + +# 启动 +启动:dotnet run 关闭:ctrl + c \ No newline at end of file diff --git "a/\346\254\247\351\230\263\344\271\276/\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" "b/\346\254\247\351\230\263\344\271\276/\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..f2bab92e086336e325311a8cd0213bc65e6d19ac Binary files /dev/null and "b/\346\254\247\351\230\263\344\271\276/\344\275\234\344\270\232\346\225\210\346\236\234\345\233\276.png" differ diff --git "a/\346\262\210\350\202\262\346\236\227/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" "b/\346\262\210\350\202\262\346\236\227/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..99627c5de98c022701287ba07078da202c1f65d6 --- /dev/null +++ "b/\346\262\210\350\202\262\346\236\227/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" @@ -0,0 +1,31 @@ +# 基本结构 +* 文件夹 + * 解决方案(创建语法 : `dotnet new sln -n 解决方案名`) + * src文件夹(里面的子级文件统称项目) + * mvc项目(一个 | 创建语法 : `dotnet new mve -o mvc项目名`) + * 类库(多个 | 创建语法 : `dotnet new calsslib -o 类库名`) + +# 解决方案与项目绑定 +语法:`dotnet sln add 绑定项目的路径` + +# mvc项目目录文件解析 +* mvc项目.csproj -> 配置文件(定义项目的依赖项、输出项等信息) +* program.cs -> 应用程序的入口 +* wwwroot -> 存放静态文件(css、js、图片等文件 | 这些文件可以通过浏览器直接访问)、 +* views -> 视图(需要跟控制器一一对应 | 控制器类名(去掉Controllr) =》 文件夹名称 / 控制器类名的方法名 =》 控制器类名内的方法名.cshtml文件) +* controllers -> 控制器(命名需要加上Controller) + 简单的基本语法: + ![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241114185907.png) +* obj 和 bin -> 缓存软件 +* Models -> 存放应用程序的数据模型(一般是数据库) +* appsettings.json -> 存储应用程序的配置信息 + +# views引用wwwroot内的文件 +`~/文件夹(例如:css)/文件` + +# 程序的启动与关闭 +启动:`dotnet run` +关闭:`ctrl + c` + +# 今日练习 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241114190632.png) diff --git "a/\346\275\230\347\210\261\347\220\264/20241114-\345\237\272\346\234\254\347\273\223\346\236\204.md" "b/\346\275\230\347\210\261\347\220\264/20241114-\345\237\272\346\234\254\347\273\223\346\236\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..1179d5160fbaaf440ccb91739bdefa695c42666a --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241114-\345\237\272\346\234\254\347\273\223\346\236\204.md" @@ -0,0 +1,15 @@ +#### 创建 + dotnet new sln -n解决方案名 + +##### 创建mvc项目 + dotnet new mvc -o mvc项目名 + +##### 创建类库 + dotnet new classlib -o 类库名 + + ##### 程序启动 + dotnet run + + #### 作业 + + ![zy](./imgs/1114.png) diff --git "a/\346\275\230\347\210\261\347\220\264/20241119-Debian.md" "b/\346\275\230\347\210\261\347\220\264/20241119-Debian.md" new file mode 100644 index 0000000000000000000000000000000000000000..1bc0005b1df83279e8d6ca35d73ae83952ab245e --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241119-Debian.md" @@ -0,0 +1,146 @@ +### Debian +更新软件源,命令:apt update +更新软件和补丁,命令:apt upgrade -y + +#### 使用nginx部署10个静态网站,要求不同域名,不同内容 +主要步骤: +安装nginx +上传网页 +配置nginx配置文件 +测试nginx配置文件,命令:nginx -t +强制让nginx加载配置文件,命令:nginx -s reload + +#### Linux练习 +1.![1](./imgs/l1.png) +tabby应用 +注意事项:Tabby是一个开源的终端平台,需要在本地安装,并且配置正确的服务器信息。 区别:Tabby提供了一个用户友好的界面,支持多标签和颜色主题,使得远程连接和管理服务器更加便捷。 + +xShell +注意事项:xShell是一个Windows平台的终端仿真软件,需要在Windows系统上安装并配置。 区别:xShell提供了多标签界面,支持SSH1和SSH2协议,适合在Windows环境下使用。 + +putty +注意事项:PuTTY是一个流行的SSH和telnet客户端,仅支持Windows平台。 区别:PuTTY界面简洁,易于使用,但不支持多标签,每次只能连接一个服务器。 +#### 2.更新软件源,命令:apt update,并了解这一步的实际用处和意义 +![2](./imgs/l2.png) +#### 3.任务:更新软件和补丁,命令:apt upgrade -y,并了解这一步的实际用处意义 +![3](./imgs/l3.png) + +#### 4.任务:熟悉并完成以下练习 +``` + 1.查看当前目录下的文件和文件夹----命令:ls +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200146.png) + +2.查看当前路径----命令:pwd +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200224.png) + +3.创建一个新的文件夹----命令:mkdir [文件夹名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200316.png) + +4.删除一个文件夹----命令:rmdir [文件夹名](注意:只能删除空文件夹) +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201225.png) + +5.移动或重命名文件/文件夹----命令:mv [原路径] [新路径] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200442.png) + +6.复制文件----命令:cp [源文件] [目标路径] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201103.png) + +7.删除文件----命令:rm [文件名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200358.png) + +8.查看文件内容----命令:cat [文件名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201312.png) + +9.分页查看文件内容----命令:less [文件名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201353.png) + +10.查找文件----命令:find / -name [文件名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201504.png) + +11.查看文件权限----命令:ls -l [文件或目录名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201536.png) + +12.改变文件权限----命令:chmod [权限] [文件或目录名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201742.png) + +13.改变文件所有者----命令:chown [新所有者] [文件或目录名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201906.png) + +14.查看当前登录用户----命令:whoami +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201933.png) + +15.查看系统运行时间和平均负载----命令:uptime +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121201954.png) + +16.查看磁盘使用情况----命令:df -h +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202026.png) + +17.查看当前路径下的隐藏文件----命令:ls -a +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202055.png) + +18.创建一个空文件----命令:touch [文件名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202125.png) + +19.查看当前系统的内核版本----命令:uname -r +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202222.png) + +20.查看网络连接状态----命令:ifconfig 或 ip addr +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202250.png) + +21.安装一个软件包----命令:sudo apt-get install [软件包名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202558.png) + +22.卸载一个软件包----命令:sudo apt-get remove [软件包名] +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202623.png) + +23.更新软件包列表----命令:sudo apt-get update +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202459.png) + +``` +5.![5](./imgs/l4.png) + +#### MVC练习 +1.创建一个控制台项目 +dotnet new console + +2.创建一个控制项目,项目名称Blog +dotnet new console -n Blog + +3.创建一个控制台项目,输出到Blog目录 +dotnet new console -o Blog + +4.创建一个MVC项目,指定项目名称 +dotnet new mvc -n Blog + +5.创建一个MVC项目,指定输出目录 +dotnet new mvc -o BlogDir + ![5](./imgs/5.png) + +6.创建一个带解决方案,其下有一个MVC项目,3个类库项目的“综合项目” + ![6](./imgs/6.png) + + 7.创建一个项目,在默认控制器(Home)下,新增一个Action方法,名为Ok,同时为其创建对应视图以显示这个视图 + ![7](./imgs/7.png) + + 8.创建一个项目,创建一个新的控制器,名为Blogs,新的控制器拥有一个名为Index的Action,该方法返回一个视图,视图显示“神级预判” + ![8](./imgs/8.png) + + 9.给第8题的新控制,添加一个新的Action,名为Music,不接受任何参数,并返回对应的视图,视图显示“顶级打野” + ![9](./imgs/9.png) + +10.给第8题的新控制器,新增一个Action,名为List,不接受任何参数,并返回对应视图,视图显示一个经典CRUD界面 + ![10](./imgs/10.png) + + 11.新增一个控制器,名为Products,该控制器具有一个名为Edit的Action,这个Action接受一个int类型的参数id,显示这个id + ``` +public class ProductsController : Controller +{ + public IActionResult Edit(int id) + { + ViewBag.Id = id; + return View(); + } +} +``` +12.在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 +![12](./imgs/12.png) \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/20241121-MVC\346\216\247\345\210\266\345\231\250.md" "b/\346\275\230\347\210\261\347\220\264/20241121-MVC\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..c98d0ffab3a3fd68661b4bc4bec40c3b6533ba90 --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241121-MVC\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,142 @@ +### 通过路由传递参数: +在控制器的Action中,你可以通过在路由模板中定义参数来接收参数。 + +### 通过表单传递参数: +当使用表单提交数据时,可以通过模型绑定将表单字段绑定到Action方法的参数。 + +### 通过FromBody传递参数: +对于使用HTTP POST或PUT方法提交的JSON或XML数据,可以使用[FromBody]属性来接收数据。 + +### 通过查询字符串传递参数: +当参数通过URL的查询字符串传递时,你可以在Action方法中通过参数接收它们。 + +### 通过Header传递参数: +可以通过[FromHeader]属性来获取HTTP请求头中的参数 + +### 通过路由传递参数: +在控制器的Action中,你可以通过在路由模板中定义参数来接收参数。 + +// GET: Home/Details/5 +public IActionResult Details(int id) +{ + var item = _context.Items.FirstOrDefault(m => m.Id == id); + return View(item); +} +通过表单传递参数: +当使用表单提交数据时,可以通过模型绑定将表单字段绑定到Action方法的参数。 + +public class Item +{ + public int Id { get; set; } + public string Name { get; set; } +} + +// POST: Home/Create +[HttpPost] +public IActionResult Create(Item item) +{ + // 保存item对象到数据库 +} +通过FromBody传递参数: +对于使用HTTP POST或PUT方法提交的JSON或XML数据,可以使用[FromBody]属性来接收数据。 + +[HttpPost] +public IActionResult Create([FromBody] Item item) +{ + // 保存item对象到数据库 +} +通过查询字符串传递参数: +当参数通过URL的查询字符串传递时,你可以在Action方法中通过参数接收它们。 + +// GET: Home/Details?name=John&age=30 +public IActionResult Details(string name, int age) +{ + // 使用name和age参数 +} +通过Header传递参数: +可以通过[FromHeader]属性来获取HTTP请求头中的参数。 + +public IActionResult GetSecretData([FromHeader] string secretKey) +{ + // 根据secretKey参数执行操作 +} +专项练习-控制器传参 +1、简单参数传递 在一个叫Blog控制器中,定义一个叫Index的Action,并且传递一个int类型的值,id为变量名 + public class BlogController : Controller + { + public IActionResult Index(int id) + { + return Content(id.ToString) + } + + } +2、简单参数传递 在一个叫Blog控制器中,定义一个叫Index_2的Action,并且传递一个string类型的值,id为变量名 +public class BlogController : Controller + { + + public IActionResult Index_2(string id) + { + return Content(id) + } + + } +3、简单参数传递 在一个叫Blog控制器中,定义一个叫Index_3的Action,并且传递一个string类型的值,name为变量名 +public class BlogController : Controller + { + public IActionResult Index_3(string name) + { + return Content(name) + } + } +4、复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create的Action,并且传递一个BlogCreateDto类型的值,blogCreateDto为变量名 +PS BlogCreateDto类型具有Title、Author、Content自动属性 + +public class BlogController : Controller + { + [HttpPost] + public IActionResult Create([FromBody] BlogCreateDto blogCreateDto){ + + return Content(blogCreateDto.Title) + } + + public class BlogCreateDto{ + + //BlogCreateDto类型具有Title、Author、Content自动属性 + public string Title{get;set;}=null!; + public string Author{get;set;}=null!; + public string Content{get;set;}=null!; + } + } +5、复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_1的Action,并且传递一个Products类型的值,productCreateDto为变量名 +PS Products类型具有Name、Price、Stock自动属性 + + public class BlogController : Controller + { + [HttpPost] + public IActionResult Create([FromBody] Products productCreateDto){ + return Content(blogCreateDto.Title) + } + //PS Products类型具有Name、Price、Stock自动属性 + public class Products{ + public string Name{get;set;}=null!; + public string Price{get;set;}=null!; + public string Stock{get;set;}=null!; + } + } +6、复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_2的Action,并且传递一个Students类型的值,studentCreateDto为变量名 +PS Students类型具有StudentName、Sex、Age自动属性 + + public class BlogController : Controller + { + public class BlogContriller : Controller{ + [HttpPost] + public IActionResult Create_2([FromBody] Students studentCreateDto){ + return Content(blogCreateDto.Title) + } + } + public class Students{ + public string Name{get;set;}=null!; + public string Price{get;set;}=null!; + public string Stock{get;set;}=null!; + } + } \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/20241122-\346\216\247\345\210\266\345\231\250.md" "b/\346\275\230\347\210\261\347\220\264/20241122-\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..280088dc0219d867fc65f13d3eed978d77da231a --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241122-\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,178 @@ +#### 控制器返回类型 +##### 一般数据类型直接返回 + 如int、double、string、IEnumerable等数据类型 IActionResult 一个接口,用于返回HTTP信息状态,如200、401、404等 + 视图 重定向 ActionResult类型 将一般数据类型和HTTP状态信息混合使用 特定于格式的操作结果:如JsonResult和ContentResult POCO(普通旧CLR对象) +#### 专项练习-基础能力 +``` +1、生成一个随机整数,范围[0,100],注意是否包含 +Random random = new Random(); +int number1 = random.Next(0, 101); +2、生成一个随机整数,范围(0,100],注意是否包含 +int number2 = random.Next(1, 100); +3、生成10个随机整数,范围[5,80],注意是否包含 +int[] numbers3 = new int[10]; +for (int i = 0; i < numbers3.Length; i++) +{ + numbers3[i] = random.Next(5, 81); +} +4、定义一个字符串,字符串中有100个中文字符,需要从中随机取1个字符串 +string chineseCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +Random random = new Random(); +string oneChineseCharacter = chineseCharacters[random.Next(chineseCharacters.Length)]; + +5、定义一个字符串,字符串中有100个中文字符,需要从中随机取5-50个字符,组成新的字符 +int length = random.Next(5, 51); +StringBuilder sb = new StringBuilder(); +for (int i = 0; i < length; i++) +{ + sb.Append(chineseCharacters[random.Next(chineseCharacters.Length)]); +} +string fiveToFiftyChineseCharacters = sb.ToString(); +6、定义2个字符串,第一个字符串中放百家姓,第二个字符串中放中文字符,要求从第一个字符串随机取得一个姓,再从第二个字符串中随机获得1到2个字符组成新字符串,和第一个字符串取得的姓组成一个姓名 +string surnames = "刘赵钱孙李周吴郑王冯陈卫蒋沈韩杨"; +string givenNames = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; +int surnameIndex = random.Next(surnames.Length); +string surname = surnames[surnameIndex].ToString(); +int givenNameLength = random.Next(1, 3); +StringBuilder givenNameSb = new StringBuilder(); +for (int i = 0; i < givenNameLength; i++) +{ + givenNameSb.Append(givenNames[random.Next(givenNames.Length)]); +} +string givenName = givenNameSb.ToString(); +string name = surname + givenName; +7、利用以上方法,随机生成100个BlogCreateDto类型(有Title、Author、Content属性)的对象,其中的内容都是随机生成且长度不定,并将其渲染到视图 +public class BlogCreateDto +{ + public string Title { get; set; } + public string Author { get; set; } + public string Content { get; set; } +} + +List blogs = new List(); +for (int i = 0; i < 100; i++) +{ + BlogCreateDto blog = new BlogCreateDto + { + Title = GenerateRandomString(10, 50), // 随机标题长度10-50 + Author = name, // 使用上面生成的姓名 + Content = GenerateRandomString(100, 1000) // 随机内容长度100-1000 + }; + blogs.Add(blog); +} + +string GenerateRandomString(int minLength, int maxLength) +{ + StringBuilder contentSb = new StringBuilder(); + int contentLength = random.Next(minLength, maxLength + 1); + for (int i = 0; i < contentLength; i++) + { + contentSb.Append(chineseCharacters[random.Next(chineseCharacters.Length)]); + } + return contentSb.ToString(); +} +专项练习-控制器返回值 +1、渲染简单数据到页面 + public class EndController : Controller + { + [HttpGet] + public IActionResult Editone(int id) +{ + var list=new List{ + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + }, + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + }, + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + }, + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + }, + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + }, + new(){ + Title="今天星期四", + Author="小怡", + Content="KFC V我50", + Name="Jackson" + } + }; + return View(list); +} + + } +public class SimpleViewModel +{ + public string Title { get; set; }=null!; + public string Author { get; set; }=null!; + + public string Content { get; set; }=null!; + + public string Name { get; set; }=null!; + +} + +@model List + + + + + + + + + + @foreach(var item in @Model){ + + + + + + + + } +
标题作者内容姓名操作
@item.Title@item.Author@item.Content@item.Name + + +
+2、渲染复杂数据到页面 +20241124164340 + +3、渲染集合数据到页面 +public IActionResult CollectionView() +{ + CollectionViewModel model = new CollectionViewModel + { + Items = new List { "Item1", "Item2", "Item3" } + }; + return View(model); +} + +@model YourNamespace.CollectionViewModel + +
    + @foreach (var item in Model.Items) + { +
  • @item
  • + } +
+``` \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/20241126-\346\255\243\345\220\221\344\273\243\347\220\206\357\274\214\345\217\215\345\220\221\344\273\243\347\220\206.md" "b/\346\275\230\347\210\261\347\220\264/20241126-\346\255\243\345\220\221\344\273\243\347\220\206\357\274\214\345\217\215\345\220\221\344\273\243\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..31c1fdfec514548f7df7fee349b5bfa8334748cd --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241126-\346\255\243\345\220\221\344\273\243\347\220\206\357\274\214\345\217\215\345\220\221\344\273\243\347\220\206.md" @@ -0,0 +1,12 @@ +### 代理 +一个完整的请求是由: client(客户端) -> proxy(代理) -> server(服务端) 组成。 + +### 正向代理(Forward Proxy) +正向代理位于客户端和目标服务器之间,客户端通过代理服务器访问无法直接到达的服务器资源。正向代理代表客户端进行请求,对目标服务器来说,它看到的是代理服务器而不是真正的客户端。因此,正向代理可以用来绕过访问限制,提高访问速度(通过缓存),以及隐藏客户端的真实IP地址,保护用户的隐私。 + +例如,如果一个用户想要访问国外的网站,但是受到地理位置的限制无法直接访问,他们可以通过一个正向代理服务器来请求这个网站。代理服务器将用户的请求转发给目标网站,并将网站的响应返回给用户。这个过程中,目标网站只能看到代理服务器的信息,而看不到用户的真实信息。 + +### 反向代理(Reverse Proxy) +反向代理则位于客户端和一组服务器之间,它接收来自客户端的请求并将其分发到后端的服务器上。对于客户端来说,它们感知不到后端的服务器,只与代理服务器进行交云。反向代理的主要作用包括负载均衡(通过分发请求到不同的服务器),提高访问速度(通过缓存静态内容),隐藏服务器的真实IP地址,以及提供额外的安全保护。 + +举个例子,一个大型网站可能有多个服务器来处理用户请求,为了分散这些请求,确保没有单一服务器过载,网站可能会使用一个反向代理服务器。当用户发送请求时,反向代理服务器将请求分配给一组服务器中的一个,然后将服务器的响应返回给用户。在这个过程中,用户并不知道他们实际上是与哪个服务器进行交互的。 \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/20241129-\345\210\227\350\241\250\345\210\240\351\231\244\347\255\211\345\212\237\350\203\275\345\222\214\347\273\203\344\271\240.md" "b/\346\275\230\347\210\261\347\220\264/20241129-\345\210\227\350\241\250\345\210\240\351\231\244\347\255\211\345\212\237\350\203\275\345\222\214\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..96a08b7a83215d4445ea12de15e580177dd067a2 --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241129-\345\210\227\350\241\250\345\210\240\351\231\244\347\255\211\345\212\237\350\203\275\345\222\214\347\273\203\344\271\240.md" @@ -0,0 +1,27 @@ +### 自动生成Action访问的URL地址 +asp-controller的值为Controller的名称,asp-action的值就是Action的名称,则自动根据路由配置生成访问该Action的地址。 + +### 视图定义属性 +定义: @{ 属性(键值对) } 调用: @键 + +### 接收view +@model 命名空间.类名 @Model.键 + +### 定位点 + + +### 练习 +##### 1.渲染(展示)简单数据类型到视图 +![1](./imgs/1129.1.png) + +#### 2.渲染(展示)对象数据到视图 +![2](./imgs/1129.2.png) + +#### 渲染(展示)集合数据到视图 +![3](./imgs/1129.3.png) + +#### 渲染(展示)包含集合数据的对象数据到视图 +![4](./imgs/1129.4.png) + +#### 尝试构建如下图所示的经典CRUD列表 +![5](./imgs/1129.5.png) \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/20241205-\350\241\250\345\215\225.md" "b/\346\275\230\347\210\261\347\220\264/20241205-\350\241\250\345\215\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..04d9bc17914cdbd330da5f6d2421fbed9e3bbc30 --- /dev/null +++ "b/\346\275\230\347\210\261\347\220\264/20241205-\350\241\250\345\215\225.md" @@ -0,0 +1,15 @@ +First()FirstOrDefault获取集合中(符合条件)第一个 +Single()SingleDefault()获取集合中符合条件的其中一个 +where()获取集合中符合条件的元素,将他们帅选出来放入一个新的集合中返回 +select() +查询元素是否存在:All所有元素都符合条件,返回True,否则返回False Any任何一个元素符合条件,都返回True, + +### 作业 +![1](./imgs/1205-1.png) +![1](./imgs/1205-2.png) +![1](./imgs/1205-3.png) +![1](./imgs/1205-4.png) +![1](./imgs/1205-5.png) +![1](./imgs/1205-6.png) +![1](./imgs/1205-7.png) +![1](./imgs/1205-8.png) \ No newline at end of file diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/10.png" "b/\346\275\230\347\210\261\347\220\264/imgs/10.png" new file mode 100644 index 0000000000000000000000000000000000000000..aa14ae58dcb4dced5668d6d33a6f3b498af3a2c8 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/10.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1114.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1114.png" new file mode 100644 index 0000000000000000000000000000000000000000..ece5e33b55082b8778d374c3683be890dfea2e48 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1114.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1129.1.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1129.1.png" new file mode 100644 index 0000000000000000000000000000000000000000..2ec3709989a63a14b56849b3b3ad95b19ec7f083 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1129.1.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1129.2.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1129.2.png" new file mode 100644 index 0000000000000000000000000000000000000000..295d7f19249770616b0325480f28b015ccac7040 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1129.2.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1129.3.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1129.3.png" new file mode 100644 index 0000000000000000000000000000000000000000..9899f8646b1fff5ca6fc7c7d898c8b9768e9f038 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1129.3.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1129.4.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1129.4.png" new file mode 100644 index 0000000000000000000000000000000000000000..f5941515bddaf519a11453bb462a4503c74e8be7 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1129.4.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1129.5.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1129.5.png" new file mode 100644 index 0000000000000000000000000000000000000000..87e98c21e58d651889499994ad20de65c5a3e0fe Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1129.5.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/12.png" "b/\346\275\230\347\210\261\347\220\264/imgs/12.png" new file mode 100644 index 0000000000000000000000000000000000000000..e214f15c73e1c7c7bcd23e23ddecc1ba5a12a393 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/12.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-1.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..5c55c5384ac0a554f25c55dc3680102c3b589939 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-1.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-2.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..a82c034114c6bc05ec3c15b48334f0ac39212fd3 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-2.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-3.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..abb41a736c21f8a38ea52b778485083455bbede8 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-3.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-4.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..784aeac4a21483a88e5a1c842ccd2c4301662f79 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-4.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-5.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-5.png" new file mode 100644 index 0000000000000000000000000000000000000000..3643d512767b6c66882f4df83e1a38e132265997 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-5.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-6.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-6.png" new file mode 100644 index 0000000000000000000000000000000000000000..e7bba559ce1bb1858ed922d8e36e0d763ada0ec4 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-6.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-7.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-7.png" new file mode 100644 index 0000000000000000000000000000000000000000..5c0fbb9fe9c949a68fabcba6264efc2cda3feabc Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-7.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/1205-8.png" "b/\346\275\230\347\210\261\347\220\264/imgs/1205-8.png" new file mode 100644 index 0000000000000000000000000000000000000000..227c43edc33d6a0b4d3ec8699af1081a735edd7d Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/1205-8.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/5.png" "b/\346\275\230\347\210\261\347\220\264/imgs/5.png" new file mode 100644 index 0000000000000000000000000000000000000000..ece5a81a9c3d4e653cb2a2231fc52642ffbb77da Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/5.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/6.png" "b/\346\275\230\347\210\261\347\220\264/imgs/6.png" new file mode 100644 index 0000000000000000000000000000000000000000..0e82dd5c40d4c46f8d975343b67f7efa630e70c9 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/6.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/7.png" "b/\346\275\230\347\210\261\347\220\264/imgs/7.png" new file mode 100644 index 0000000000000000000000000000000000000000..aa7d3f46b992050d3cbae5500e7609ef06976df4 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/7.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/8.png" "b/\346\275\230\347\210\261\347\220\264/imgs/8.png" new file mode 100644 index 0000000000000000000000000000000000000000..6248c64b58ba01983c8142e58c2cf477336842ea Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/8.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/9.png" "b/\346\275\230\347\210\261\347\220\264/imgs/9.png" new file mode 100644 index 0000000000000000000000000000000000000000..4426bb47eeb759c8c0cef977c04435b016fc2ec5 Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/9.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/l1.png" "b/\346\275\230\347\210\261\347\220\264/imgs/l1.png" new file mode 100644 index 0000000000000000000000000000000000000000..30a6903ba8c07ed69a916daff260604d5f74c38d Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/l1.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/l2.png" "b/\346\275\230\347\210\261\347\220\264/imgs/l2.png" new file mode 100644 index 0000000000000000000000000000000000000000..adf33c93846fecd763168e2ac83dc5d2888920bb Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/l2.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/l3.png" "b/\346\275\230\347\210\261\347\220\264/imgs/l3.png" new file mode 100644 index 0000000000000000000000000000000000000000..bd3ab90b86d2e00e31ea849fd1949c015a0330ee Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/l3.png" differ diff --git "a/\346\275\230\347\210\261\347\220\264/imgs/l4.png" "b/\346\275\230\347\210\261\347\220\264/imgs/l4.png" new file mode 100644 index 0000000000000000000000000000000000000000..6e9072284c25095c2d10f534ad3a789017fb41cf Binary files /dev/null and "b/\346\275\230\347\210\261\347\220\264/imgs/l4.png" differ diff --git "a/\347\206\212\345\200\251/20241114-mvc\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" "b/\347\206\212\345\200\251/20241114-mvc\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..537fc9f55f8c68bb02e6eaf794c5a5f846e394d0 --- /dev/null +++ "b/\347\206\212\345\200\251/20241114-mvc\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" @@ -0,0 +1,13 @@ +## 笔记 +1、dotnet new mvc -o 名 +cd 名 +Views->Home->项目名.cshtml +Controllers引用项目方法名 +2、wwwroot->css->建项目名.css->写样式 +3、.cshtml里用link引用样式 href="~/css/项目名.css" +4、dotnet run --project 名 +5、ctrl+c 结束任务 + +## 作业 +如图: +![](https://gitee.com/xiong-qian_-a/picture-bed/raw/master/images/202411142023214.png) \ No newline at end of file diff --git "a/\347\254\224\350\256\260/20241115-\347\254\224\350\256\260\345\217\212\344\275\234\344\270\232.md" "b/\347\254\224\350\256\260/20241115-\347\254\224\350\256\260\345\217\212\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..3d3631d76534bb1c2237572a1ae813d3ec7ed520 --- /dev/null +++ "b/\347\254\224\350\256\260/20241115-\347\254\224\350\256\260\345\217\212\344\275\234\344\270\232.md" @@ -0,0 +1,7 @@ +1、dotnet new mvc -o 名 cd 名 Views->Home->项目名.cshtml Controllers引用项目方法名 +2、wwwroot->css->建项目名.css->写样式 +3、.cshtml里用link引用样式 href="~/css/项目名.css" +4、dotnet run --project 名 +5、ctrl+c 结束任务 +# 作业 +![alt text](image.png) \ No newline at end of file diff --git "a/\347\254\224\350\256\260/image.png" "b/\347\254\224\350\256\260/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..f2180d6790c34acb988bfab3d61d3df7a4c1e25a Binary files /dev/null and "b/\347\254\224\350\256\260/image.png" differ diff --git "a/\350\202\226\347\276\216\345\221\210/20241114-mvc\347\273\203\344\271\240\345\217\212\347\254\224\350\256\260.md" "b/\350\202\226\347\276\216\345\221\210/20241114-mvc\347\273\203\344\271\240\345\217\212\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..5d831b7310394b59442e023253edc87ca26918e0 --- /dev/null +++ "b/\350\202\226\347\276\216\345\221\210/20241114-mvc\347\273\203\344\271\240\345\217\212\347\254\224\350\256\260.md" @@ -0,0 +1,13 @@ +## 笔记 +1、dotnet new mvc -o 名 +Views->Home->项目名.cshtml +Controllers引用项目方法名 +2、wwwroot->css->建项目名.css->写样式 +3、.cshtml里用link引用样式 href="~/css/项目名.css" +4、dotnet run --project 名 +5、ctrl+c 结束任务 + + +## 作业 +如图: +![](https://gitee.com/xiao-meicheng/picture-bed/raw/master/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202024-11-14%20195628.png) \ No newline at end of file diff --git "a/\351\202\223\345\256\227\346\235\203/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" "b/\351\202\223\345\256\227\346\235\203/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..7da6751d2d0c360dec524843d1ccdecdf4359ad4 --- /dev/null +++ "b/\351\202\223\345\256\227\346\235\203/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" @@ -0,0 +1,10 @@ +# 基本结构 + 文件夹 + 解决方案(创建语法 : dotnet new sln -n 解决方案名) + src文件夹(里面的子级文件统称项目) + mvc项目(一个 | 创建语法 : dotnet new mve -o mvc项目名) + 类库(多个 | 创建语法 : dotnet new calsslib -o 类库名) + 项目绑定 + dotnet sln add 绑定项目的路径 +## 练习 + \ No newline at end of file diff --git "a/\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" "b/\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..b386506f9cb294600eeb9999a62e78362c6ca3f6 --- /dev/null +++ "b/\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" @@ -0,0 +1,11 @@ +1、dotnet new mvc -o 名 +Views->Home->项目名.cshtml +Controllers引用项目方法名 +2、wwwroot->css->建项目名.css->写样式 +3、.cshtml里用link引用样式 href="~/css/项目名.css" +4、dotnet run --project 名 +5、ctrl+c 结束任务 + + + +![{F77D9444-FEBC-429D-A34D-1DC94DA8AA4B}](https://gitee.com/guo-mengyuan11/picture-bed/raw/master/images/202411141846891.png) \ No newline at end of file diff --git "a/\351\222\237\345\230\211\345\246\256/20241114-MVC\345\237\272\347\241\200.md" "b/\351\222\237\345\230\211\345\246\256/20241114-MVC\345\237\272\347\241\200.md" new file mode 100644 index 0000000000000000000000000000000000000000..9c82a1ae24a7d5b3a69480459b1e944d02d4fa8f --- /dev/null +++ "b/\351\222\237\345\230\211\345\246\256/20241114-MVC\345\237\272\347\241\200.md" @@ -0,0 +1,9 @@ +# 结构 + * dotnet new sln -n 解决方案名 + * dotnet new mve -o mvc项目名 + * dotnet new calsslib -o 类库名 + * dotnet sln add 绑定项目的路径 + + +# 作业 +![alt text](image.png) diff --git "a/\351\222\237\345\230\211\345\246\256/image.png" "b/\351\222\237\345\230\211\345\246\256/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..b17dd1c19d245de73c3e457c4025aedf72ad928f Binary files /dev/null and "b/\351\222\237\345\230\211\345\246\256/image.png" differ diff --git "a/\351\227\253\345\220\211\347\245\245/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" "b/\351\227\253\345\220\211\347\245\245/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..b4ef605fbb46e2b8fd40fc2dddc0e4fae1fb6836 --- /dev/null +++ "b/\351\227\253\345\220\211\347\245\245/20241114-\346\226\207\344\273\266\347\273\223\346\236\204.md" @@ -0,0 +1,29 @@ +### 基本结构 +``` +文件夹 +解决方案(创建语法 : dotnet new sln -n 解决方案名) +src文件夹(里面的子级文件统称项目) +mvc项目(一个 | 创建语法 : dotnet new mve -o mvc项目名) +类库(多个 | 创建语法 : dotnet new calsslib -o 类库名) +项目绑定 +dotnet sln add 绑定项目的路径 +``` +### 网站搭建 +1.ping 域名 + +2.ssh root@域名 输入密码 + +3.vim index.html + +4.cat index.html + +5.cd /etc/nginxx/conf.d/ + +6.vim 域名.conf + +### views引用wwwroot内的文件 +``` +~/文件夹(例如:css)/文件 +``` + + diff --git "a/\351\231\210\345\207\257\347\220\233/20241114.MVC.md" "b/\351\231\210\345\207\257\347\220\233/20241114.MVC.md" new file mode 100644 index 0000000000000000000000000000000000000000..64ee2be8c1f8dcb5b8bb0d8a52486454d7af0e76 --- /dev/null +++ "b/\351\231\210\345\207\257\347\220\233/20241114.MVC.md" @@ -0,0 +1,81 @@ +## 创建MVC项目 + +### 1. 安装.NET SDK + +使用以下命令检查是否已安装: +```bash +dotnet --version +``` + +### 2. 创建一个新的 MVC 项目 + +```bash +dotnet new mvc -n 项目名称 +``` + + +### 3. 进入项目目录 +创建完成后,进入你的项目目录: + +```bash +cd MyMvcApp +``` + +### 4. 运行项目 +运行你的MVC项目,启动开发服务器: + +```bash +dotnet run +``` + +### 5. 项目结构 +创建的 MVC 项目会包含以下目录和文件: + +- **Controllers**:控制器类,负责处理用户的请求并返回响应。 + +- **Views**:视图文件,使用 Razor 语法来呈现 HTML 页面。 + +- **Models**:用于存放数据模型的类。 + +- **wwwroot**:包含静态文件,如 CSS、JavaScript 和图片。 + +- **appsettings.json**:应用程序的配置文件。 + +- **Program.cs**:配置和启动应用程序的入口点。 + +### 访问控制器和视图 + + +- ### 最基本的控制器结构 + + ```csharp + csharp复制代码using Microsoft.AspNetCore.Mvc; + + namespace MyMvcApp.Controllers + { + // 控制器类继承自 Controller 基类 + public class HomeController : Controller + { + // 最简单的操作方法,返回视图 + public IActionResult Index() + { + return View(); + } + } + } + ``` + +### 生产环境s +使用以下命令将应用发布为可部署的文件: + +```bash +dotnet publish --configuration Release --output ./publish +``` + + +```html +![alt text](image.png) +``` + + + diff --git "a/\351\231\210\345\207\257\347\220\233/image.png" "b/\351\231\210\345\207\257\347\220\233/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..ce07cc42421229d9e02f1787092a11c1c5463d8a Binary files /dev/null and "b/\351\231\210\345\207\257\347\220\233/image.png" differ diff --git "a/\351\231\210\346\230\237\346\234\210/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" "b/\351\231\210\346\230\237\346\234\210/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..ebca6205c1ee127bf4aee4b3a2cc7259c33d7a0f --- /dev/null +++ "b/\351\231\210\346\230\237\346\234\210/20241114-\346\226\207\344\273\266\347\273\223\346\236\204\344\273\245\345\217\212\346\263\250\346\204\217\351\241\271.md" @@ -0,0 +1,25 @@ +# 课堂笔记 +## 基本结构 + + 文件夹 + + 解决方案(创建语法 : dotnet new sln -n 解决方案名) + + src文件夹(里面的子级文件统称项目) + + mvc项目(一个 | 创建语法 : dotnet new mve -o mvc项目名) + + 类库(多个 | 创建语法 : dotnet new calsslib -o 类库名) +## 解决方案与项目绑定 +语法:dotnet sln add 绑定项目的路径 + +## mvc项目目录文件解析 ++ mvc项目.csproj -> 配置文件(定义项目的依赖项、输出项等信息) ++ program.cs -> 应用程序的入口 ++ wwwroot -> 存放静态文件(css、js、图片等文件 | 这些文件可以通过浏览器直接访问)、 ++ views -> 视图(需要跟控制器一一对应 | 控制器类名(去掉Controllr) =》 文件夹名称 / 控制器类名的方法名 =》 控制器类名内的方法名.cshtml文件) ++ controllers -> 控制器(命名需要加上Controller) ++ obj 和 bin -> 缓存软件 ++ Models -> 存放应用程序的数据模型(一般是数据库) ++ appsettings.json -> 存储应用程序的配置信息 +## views引用wwwroot内的文件 +~/文件夹(例如:css)/文件 +## 程序的启动与关闭 +启动:dotnet run 关闭:ctrl + c +# 作业 +![](https://gitee.com/chen-xingyueyue/picture-bed/raw/master/imgs/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png) \ No newline at end of file diff --git "a/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/desktop.ini" "b/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/desktop.ini" new file mode 100644 index 0000000000000000000000000000000000000000..abe2e34d05a6d4a5dbca687d2c54a78185d01b1a --- /dev/null +++ "b/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/desktop.ini" @@ -0,0 +1,2 @@ +[LocalizedFileNames] +Ļͼ 2024-11-15 222948.png=@Ļͼ 2024-11-15 222948.png,0 diff --git "a/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-14\344\275\234\344\270\232.png" "b/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-14\344\275\234\344\270\232.png" new file mode 100644 index 0000000000000000000000000000000000000000..c5fc2a4e2440ff6b31e70eea72046d3739585d19 Binary files /dev/null and "b/\351\237\251\345\276\267\347\276\216/\344\275\234\344\270\232/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-14\344\275\234\344\270\232.png" differ diff --git "a/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241112\350\257\276\345\240\202\347\254\224\350\256\260.md" "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241112\350\257\276\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..037c6371a93e18957ba2eca92086b191ef7ed4dc --- /dev/null +++ "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241112\350\257\276\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,25 @@ +# 网站搭建 +1. ping 域名 +2. ssh root@域名 输入密码 +3. apt update +4. apt upgrade-y +5. syestemctl status nginx +6. apt install nginx -y(安装) +7. mkdir /var/www +8. cd /var/www +9. mkdir 域名 +10. cd 域名 +11. vim index.html +12 .cat index.html +13. cd /etc/nginxx/conf.d/ +14. vim 域名.conf +15. server{ + listen 80; #监听的端口 + server_name 9ihub.com; #监听的域名 + location / { + root /var/www/9ihub.com ;#网站所在路径 + index index.html; #默认的首页文件 + } +} +16. nginx -t +17. nginx -s reload diff --git "a/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241114\350\257\276\345\240\202\347\254\224\350\256\260.md" "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241114\350\257\276\345\240\202\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..bcd46da0f260fd6786b5fc8cf5067454d91f0e53 --- /dev/null +++ "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241114\350\257\276\345\240\202\347\254\224\350\256\260.md" @@ -0,0 +1,7 @@ +# 搭建MVC项目 +1. dotnet new mvc -o 文件名 +2. dotnet run -project .\文件名\ +3. dotnet watch +4. dotnet build +5. 解决方案:dotnet new sln -o .\文件名\ +6. \ No newline at end of file diff --git "a/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241115\347\254\224\350\256\260.md" "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241115\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..bcd46da0f260fd6786b5fc8cf5067454d91f0e53 --- /dev/null +++ "b/\351\237\251\345\276\267\347\276\216/\347\254\224\350\256\260/20241115\347\254\224\350\256\260.md" @@ -0,0 +1,7 @@ +# 搭建MVC项目 +1. dotnet new mvc -o 文件名 +2. dotnet run -project .\文件名\ +3. dotnet watch +4. dotnet build +5. 解决方案:dotnet new sln -o .\文件名\ +6. \ No newline at end of file diff --git "a/\351\241\271\345\255\231\346\236\253/20241114 \346\226\207\344\273\266\347\273\223\346\236\204\345\217\212\344\275\234\344\270\232.md" "b/\351\241\271\345\255\231\346\236\253/20241114 \346\226\207\344\273\266\347\273\223\346\236\204\345\217\212\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..1bd53a0e89c3816ffafcc0d2b2f70a2aa1f7d2bb --- /dev/null +++ "b/\351\241\271\345\255\231\346\236\253/20241114 \346\226\207\344\273\266\347\273\223\346\236\204\345\217\212\344\275\234\344\270\232.md" @@ -0,0 +1,8 @@ +# mvc项目.csproj -> 配置文件(定义项目的依赖项、输出项等信息) +program.cs -> 应用程序的入口 +wwwroot -> 存放静态文件(css、js、图片等文件 | 这些文件可以通过浏览器直接访问)、 +views -> 视图(需要跟控制器一一对应 | 控制器类名(去掉Controllr) =》 文件夹名称 / 控制器类名的方法名 =》 控制器类名内的方法名.cshtml文件) +controllers -> 控制器(命名需要加上Controller) + + +# \ No newline at end of file