diff --git "a/\346\262\210\350\202\262\346\236\227/2024-11-21-eight.png" "b/\346\262\210\350\202\262\346\236\227/2024-11-21-eight.png" new file mode 100644 index 0000000000000000000000000000000000000000..853a02e6f311d8885fef612c12f73c19ca86eef9 Binary files /dev/null and "b/\346\262\210\350\202\262\346\236\227/2024-11-21-eight.png" differ diff --git "a/\346\262\210\350\202\262\346\236\227/2024-11-24 13-41-23.gif" "b/\346\262\210\350\202\262\346\236\227/2024-11-24 13-41-23.gif" new file mode 100644 index 0000000000000000000000000000000000000000..b27a50e3d73e67701d29d1bc03436cdc114875ad Binary files /dev/null and "b/\346\262\210\350\202\262\346\236\227/2024-11-24 13-41-23.gif" differ diff --git "a/\346\262\210\350\202\262\346\236\227/20241119-\346\216\247\345\210\266\345\231\250.md" "b/\346\262\210\350\202\262\346\236\227/20241119-\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..dc5574cd0cd57795f543da99ffb67c06ff387192 --- /dev/null +++ "b/\346\262\210\350\202\262\346\236\227/20241119-\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,186 @@ +# 控制器 +名字:控制器名+Controller.cs +文件内的基本组成: +``` +using Microsoft.AspNetCore.Mvc +namespace MVC项目名.Controlers; +public class 类名 : Controller +{ + public 返回值 方法名(参数){ + return 值; + } +} +``` + +# 作业 +## Linux练习 +### 任务:尝试使用以下几种方式分别登录服务器,说明它们分别的注意事项,并说明它们之间的区别 +#### ssh客户端 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121195445.png) + +#### tabby应用 +配置和连接 +新建SSH连接 + +#### xShell +点击“新建”,新建会话 +1. 填写一个便于标识的名称 +2. 填写服务器的公网IP +3. 点击用户身份验证 +填写服务器的用户名和密码,之后点击“确定” +填写服务器的用户名和密码,之后点击“确定” + +#### putty +配置连接:用户需要输入需要连接的主机或IP地址、端口号等信息,并点击“save”按钮 +选中之前保持好的配置,点击“open”打开。 + + +### 任务:更新软件源,命令:apt update,并了解这一步的实际用处和意义 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121195721.png) + +### 任务:更新软件和补丁,命令:apt upgrade -y,并了解这一步的实际用处意义 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121200014.png) + +### 任务:熟悉并完成以下练习 + 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) + +### 任务:在服务器上安装SDK环境 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202730.png) + +### 任务:使用nginx部署10个静态网站,要求不同域名,不同内容 +1. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202903.png) + +2. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121202948.png) + +3. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203039.png) + +4. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203114.png) + +5. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203139.png) + +6. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203209.png) + +7. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203242.png) + +8. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203315.png) + +9. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203348.png) + +10. +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241121203415.png) + +### 任务:使用nginx反向代理,部署简单的MVC项目 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124.png) + +## MVC练习 +### 创建一个控制台项目,没有任何选项,体会项目名称和什么有关系 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-one.png) + +### 创建一个控制项目,项目名称Blog +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-two.png) + +### 创建一个控制台项目,输出到Blog目录 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-three.png) + +### 创建一个MVC项目,指定项目名称 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-four.png) + +### 创建一个MVC项目,指定输出目录 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-five.png) + +### 创建一个带解决方案,其下有一个MVC项目,3个类库项目的“综合项目” +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-six.png) + +### 创建一个项目,在默认控制器(Home)下,新增一个Action方法,名为Ok,同时为其创建对应视图以显示这个视图 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-seven.png) + +### 创建一个项目,创建一个新的控制器,名为Blogs,新的控制器拥有一个名为Index的Action,该方法返回一个视图,视图显示“神级预判” +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-eight.png) + +### 给第8题的新控制,添加一个新的Action,名为Music,不接受任何参数,并返回对应的视图,视图显示“顶级打野” +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-nine.png) + +### 给第8题的新控制器,新增一个Action,名为List,不接受任何参数,并返回对应视图,视图显示一个经典CRUD界面 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-ten.png) + +### 新增一个控制器,名为Products,该控制器具有一个名为Edit的Action,这个Action接受一个int类型的参数id,显示这个id +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-21-eleven.png) + +### 在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/屏幕截图 2024-10-14 183220.png) \ No newline at end of file diff --git "a/\346\262\210\350\202\262\346\236\227/20241121-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\344\273\245\345\217\212\350\247\206\345\233\276.md" "b/\346\262\210\350\202\262\346\236\227/20241121-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\344\273\245\345\217\212\350\247\206\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..4ca5fe79414585f02f9343b41baa0ca584ade5d9 --- /dev/null +++ "b/\346\262\210\350\202\262\346\236\227/20241121-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\344\273\245\345\217\212\350\247\206\345\233\276.md" @@ -0,0 +1,10 @@ +# 控制器的参数 +## 方式1--地址传参 +url/值 +接收一般为id,可以在路由更改。 +## 方式2--`[FromBody]`传参 +定义一个类接收 类名CreateDto +定义属性 +访问前提: +类前面加请求方式`[HttpPost]` +参数前面加`[FromBody]` \ No newline at end of file diff --git "a/\346\262\210\350\202\262\346\236\227/20241122-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\345\222\214\350\277\224\345\233\236\345\200\274\344\273\245\345\217\212\350\247\206\345\233\276.md" "b/\346\262\210\350\202\262\346\236\227/20241122-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\345\222\214\350\277\224\345\233\236\345\200\274\344\273\245\345\217\212\350\247\206\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..1ae53ce6fc0d686285c88bc18214961a2d7313d9 --- /dev/null +++ "b/\346\262\210\350\202\262\346\236\227/20241122-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260\345\222\214\350\277\224\345\233\236\345\200\274\344\273\245\345\217\212\350\247\206\345\233\276.md" @@ -0,0 +1,63 @@ +# 控制器返回值 +1. 一般数据类型 +2. IActionResult类型(接口) +3. ActionResult类型(接口加一般数据类型) +4. 特定于格式的操作结果 +5. Poco(普通旧CLR对象) + +# 视图 +控制器返回值通过 +@model 数据类型 ----》接收数据 + +# 作业 +## 专项练习-控制器传参 +### 简单参数传递 在一个叫Blog控制器中,定义一个叫Index的Action,并且传递一个int类型的值,id为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124122308.png) + +### 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_2的Action,并且传递一个string类型的值,id为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124122329.png) + +### 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_3的Action,并且传递一个string类型的值,name为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124122438.png) + +### 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create的Action,并且传递一个BlogCreateDto类型的值,blogCreateDto为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124123502.png) + +### 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_1的Action,并且传递一个Products类型的值,productCreateDto为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124123502.png) + +### 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_2的Action,并且传递一个Students类型的值,studentCreateDto为变量名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124123502.png) + +## 专项练习-基础能力 +### 生成一个随机整数,范围[0,100],注意是否包含 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124125539.png) + +### 生成一个随机整数,范围(0,100],注意是否包含 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124125611.png) + +### 生成10个随机整数,范围[5,80],注意是否包含 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124125627.png) + +### 定义一个字符串,字符串中有100个中文字符,需要从中随机取1个字符串 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124130009.png) + +### 定义一个字符串,字符串中有100个中文字符,需要从中随机取5-50个字符,组成新的字符 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124130346.png) + +### 定义2个字符串,第一个字符串中放百家姓,第二个字符串中放中文字符,要求从第一个字符串随机取得一个姓,再从第二个字符串中随机获得1到2个字符组成新字符串,和第一个字符串取得的姓组成一个姓名 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124131947.png) + +### 利用以上方法,随机生成100个BlogCreateDto类型(有Title、Author、Content属性)的对象,其中的内容都是随机生成且长度不定,并将其渲染到视图 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024-11-24-13-41-232.gif) + +## 专项练习-控制器返回值 +### 渲染简单数据到页面 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124141219.png) + +### 渲染复杂数据到页面 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124141050.png) + +### 渲染集合数据到页面 +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241124140545.png) + diff --git "a/\346\262\210\350\202\262\346\236\227/image.png" "b/\346\262\210\350\202\262\346\236\227/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..1b9e1d25ec519fead725a3224bd6f722c693a876 Binary files /dev/null and "b/\346\262\210\350\202\262\346\236\227/image.png" differ