From 62f6afba06889c0269e5be0e66d8262279dafad1 Mon Sep 17 00:00:00 2001 From: guomengyuan <2654196850@qq.com> Date: Thu, 14 Nov 2024 18:48:29 +0800 Subject: [PATCH 1/9] tj --- .../20241114-dotnet\346\240\267\345\274\217.md" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" 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 0000000..b386506 --- /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 -- Gitee From c0209427c5cf0f7f57a68738856de48df5394a7d Mon Sep 17 00:00:00 2001 From: 1 <3248962241@qq.com> Date: Thu, 14 Nov 2024 20:06:26 +0800 Subject: [PATCH 2/9] tj --- ...\271\240\345\217\212\347\254\224\350\256\260.md" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\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" 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 0000000..5d831b7 --- /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 -- Gitee From 91e769bf3a2bee165e0618bfd32793055cc170da Mon Sep 17 00:00:00 2001 From: xiongqian <3197607754@qq.com> Date: Thu, 14 Nov 2024 20:23:56 +0800 Subject: [PATCH 3/9] tj --- ...\271\240\345\217\212\344\275\234\344\270\232.md" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "\347\206\212\345\200\251/20241114-mvc\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" 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 0000000..537fc9f --- /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 -- Gitee From ff098c809f7e5f3d4d03d478f99850b09d1d2313 Mon Sep 17 00:00:00 2001 From: unknown <3270372860@qq.com> Date: Sun, 17 Nov 2024 22:05:06 +0800 Subject: [PATCH 4/9] 14 --- ...21\347\253\231\346\220\255\345\273\272.md" | 30 ++++++++++++++++++ ...210\252\345\233\276 2024-11-17 220342.png" | Bin 0 -> 57754 bytes 2 files changed, 30 insertions(+) create mode 100644 "\346\235\234\344\270\200\345\215\232/\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" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-17 220342.png" diff --git "a/\346\235\234\344\270\200\345\215\232/\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/\346\235\234\344\270\200\345\215\232/\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 0000000..9c48604 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\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,30 @@ +# 基本结构 +* 文件夹 + * 解决方案(创建语法 : `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` + +# 今日练习 +![20241117220429](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241117220429.png) diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-17 220342.png" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/\345\261\217\345\271\225\346\210\252\345\233\276 2024-11-17 220342.png" new file mode 100644 index 0000000000000000000000000000000000000000..98ea2533222a939240cb38b846c8ac12ba3ab269 GIT binary patch literal 57754 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 Date: Sun, 24 Nov 2024 20:23:26 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=EF=BC=9F=EF=BC=9F=EF=BC=9F=EF=BC=9F?= =?UTF-8?q?=EF=BC=9F=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Linux\347\273\203\344\271\240.md" | 100 +++++++++++++++++ .../MVC\347\273\203\344\271\240.md" | 104 ++++++++++++++++++ ...72\347\241\200\350\203\275\345\212\233.md" | 63 +++++++++++ ...66\345\217\260\344\274\240\345\217\202.md" | 76 +++++++++++++ ...9-\346\216\247\345\210\266\345\231\250.md" | 12 ++ ...66\345\231\250\345\217\202\346\225\260.md" | 5 + ...2-\350\277\224\345\233\236\345\200\274.md" | 6 + 7 files changed, 366 insertions(+) create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/Linux\347\273\203\344\271\240.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/MVC\347\273\203\344\271\240.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/\345\237\272\347\241\200\350\203\275\345\212\233.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/\346\216\247\345\210\266\345\217\260\344\274\240\345\217\202.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241119-\346\216\247\345\210\266\345\231\250.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241121-\346\216\247\345\210\266\345\231\250\345\217\202\346\225\260.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241122-\350\277\224\345\233\236\345\200\274.md" diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/Linux\347\273\203\344\271\240.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/Linux\347\273\203\344\271\240.md" new file mode 100644 index 0000000..fc7f48e --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/Linux\347\273\203\344\271\240.md" @@ -0,0 +1,100 @@ +## Linux练习 +### 任务1 +尝试使用以下几种方式分别登录服务器,说明它们分别的注意事项,并说明它们之间的区别 +ssh客户端 +tabby应用 +xShell +putty + +用户界面:SSH客户端和PuTTY较为简单,Tabby提供了现代化的界面,xShell提供了用户友好的图形界面。 + +平台支持:SSH客户端和PuTTY支持多平台,Tabby支持Windows、macOS和Linux,xShell主要针对Windows。 + +功能:SSH客户端功能强大但界面简单,PuTTY轻量级,Tabby和xShell提供了更多现代功能,如多标签和插件系统。 + +安全性:所有工具都支持SSH加密连接,但使用密钥对认证可以提供额外的安全性。 + +易用性:对于不熟悉命令行的用户,Tabby和xShell提供了更好的易用性。 + +### 任务2 +更新软件源,命令:apt update,并了解这一步的实际用处和意义: + +apt update命令是apt工具中的一个常用命令,用于更新本地软件包索引。 +它确保了你的系统软件包列表是最新的,这对于系统的维护、升级和安全性至关重要。 + +### 任务3 +更新软件和补丁,命令:apt upgrade -y,并了解这一步的实际用处意义 + +apt upgrade -y 是一个在基于Debian的Linux发行版(如Ubuntu)中使用的命令,用于升级所有已安装的软件包到最新版本。这个命令结合了 apt update 和 apt upgrade 的功能,并且自动回答“yes”以确认所有升级。 + +### 任务4 +``` +查看当前目录下的文件和文件夹 +命令:ls + +查看当前路径 +命令:pwd + +创建一个新的文件夹 +命令:mkdir [文件夹名] 例如:mkdir new_folder + +删除一个文件夹(注意:只能删除空文件夹) +命令:rmdir [文件夹名] 例如:rmdir new_folder + +移动或重命名文件/文件夹 +命令:mv [原路径] [新路径] 例如:mv old_name.txt new_name.txt + +复制文件 +命令:cp [源文件] [目标路径] 例如:cp file1.txt /path/to/destination/ + +删除文件 +命令:rm [文件名] 例如:rm file.txt + +查看文件内容 +命令:cat [文件名] 例如:cat file.txt + +分页查看文件内容 +命令:less [文件名] 例如:less file.txt + +查找文件 +命令:find / -name [文件名] 例如:find / -name filename.txt + +查看文件权限 +命令:ls -l [文件或目录名] 例如:ls -l file.txt + +改变文件权限 +命令:chmod [权限] [文件或目录名] 例如:chmod 755 file.txt(设置为可读可写可执行) + +改变文件所有者 +命令:chown [新所有者] [文件或目录名] 例如:chown new_owner file.txt + +查看当前登录用户 +命令:whoami + +查看系统运行时间和平均负载 +命令:uptime + +查看磁盘使用情况 +命令:df -h(以易读的格式显示) + +查看当前路径下的隐藏文件 +命令:ls -a + +创建一个空文件 +命令:touch [文件名] 例如:touch new_file.txt + +查看当前系统的内核版本 +命令:uname -r + +查看网络连接状态 +命令:ifconfig 或 ip addr(ifconfig 命令在某些新版本的Linux中已被ip命令取代) + +安装一个软件包 +命令:sudo apt-get install [软件包名] 例如:sudo apt-get install vim + +卸载一个软件包 +命令:sudo apt-get remove [软件包名] 例如:sudo apt-get remove vim + +更新软件包列表 +命令:sudo apt-get update +``` \ No newline at end of file diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/MVC\347\273\203\344\271\240.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/MVC\347\273\203\344\271\240.md" new file mode 100644 index 0000000..89126c7 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/MVC\347\273\203\344\271\240.md" @@ -0,0 +1,104 @@ +### 1、创建一个控制台项目,没有任何选项,体会项目名称和什么有关系 +dotnet new console -n MyConsoleApp +### 2、创建一个控制项目,项目名称Blog +dotnet new console -n Blog +### 3、创建一个控制台项目,输出到Blog目录 +mkdir Blog +cd Blog +dotnet new console +### 4、创建一个MVC项目,指定项目名称 +dotnet new mvc -n MyMvcProject +### 5、创建一个MVC项目,指定输出目录 +mkdir MyMvcProject +cd MyMvcProject +dotnet new mvc -o . +### 6、创建一个带解决方案,其下有一个MVC项目,3个类库项目的“综合项目” +dotnet new sln -n ComprehensiveSolution +cd ComprehensiveSolution +dotnet new mvc -n MvcProject +dotnet sln add MvcProject +dotnet new classlib -n ClassLibrary1 +dotnet new classlib -n ClassLibrary2 +dotnet new classlib -n ClassLibrary3 +dotnet sln add ClassLibrary1 ClassLibrary2 ClassLibrary3 +### 7、创建一个项目,在默认控制器(Home)下,新增一个Action方法,名为Ok,同时为其创建对应视图以显示这个视图 +``` +dotnet new mvc -n MyMvcApp +cd MyMvcApp +public IActionResult Ok() +{ + return View(); +} +

Ok

+

This is the Ok view.

+``` +### 8、创建一个项目,创建一个新的控制器,名为Blogs,新的控制器拥有一个名为Index的Action,该方法返回一个视图,视图显示“神级预判” +``` +dotnet new mvc -n MyMvcApp +cd MyMvcApp +public class BlogsController : Controller +{ + public IActionResult Index() + { + return View(); + } +} +在Views/Blogs目录下创建Index.cshtml视图文件,并添加以下内容: +

Index

+

神级预判

+``` +### 9、给第8题的新控制,添加一个新的Action,名为Music,不接受任何参数,并返回对应的视图,视图显示“顶级打野” +``` +public IActionResult Music() +{ + return View(); +} +在Views/Blogs目录下创建Music.cshtml视图文件,并添加以下内容: +

Music

+

顶级打野

+``` +### 10、给第8题的新控制器,新增一个Action,名为List,不接受任何参数,并返回对应视图,视图显示一个经典CRUD界面 +``` +在BlogsController.cs中添加: +public IActionResult List() +{ + return View(); +} +在Views/Blogs目录下创建List.cshtml视图文件,并添加以下内容: +

List

+

This is a classic CRUD interface.

+``` +### 11、新增一个控制器,名为Products,该控制器具有一个名为Edit的Action,这个Action接受一个int类型的参数id,显示这个id +``` +创建ProductsController.cs: +public class ProductsController : Controller +{ + public IActionResult Edit(int id) + { + ViewBag.Id = id; + return View(); + } +} +在Views/Products目录下创建Edit.cshtml视图文件,并添加以下内容: +

Edit

+

ID: @ViewBag.Id

+``` +### 12、在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 +``` +首先定义Students类: +public class Students +{ + public string Name { get; set; } + public int Age { get; set; } + public double Height { get; set; } +} +在ProductsController.cs中添加: +public IActionResult Create(Students student) +{ + ViewBag.Name = student.Name; + return View(); +} +在Views/Products目录下创建Create.cshtml视图文件,并添加以下内容: +

Create

+

Name: @ViewBag.Name

+``` \ No newline at end of file diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/\345\237\272\347\241\200\350\203\275\345\212\233.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/\345\237\272\347\241\200\350\203\275\345\212\233.md" new file mode 100644 index 0000000..b4e2500 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\220\216\344\275\234\344\270\232/\345\237\272\347\241\200\350\203\275\345\212\233.md" @@ -0,0 +1,63 @@ +### 生成一个随机整数,范围[0,100],注意是否包含 +``` +public IActionResult Create(){ + int num = new Random().Next(0,101); + return Content(num.ToString()); + } + +``` +### 生成一个随机整数,范围(0,100],注意是否包含 +``` +public IActionResult Create(){ + int num = new Random().Next(0,101); + return Content(num.ToString()); + } + +``` +### 生成10个随机整数,范围[5,80],注意是否包含 +``` +public IActionResult Create(){ + int num = new Random().Next(5,81); + return Content(num.ToString()); + } +``` +### 定义一个字符串,字符串中有100个中文字符,需要从中随机取1个字符串 +``` +public IActionResult Create(){ + string text = "天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾不宁载戢干戈载櫜弓矢民协厥中临深履薄同律度量垂宪章乘风破浪举重若轻" + int num = new Random().Next(0,text.Length); + return Content([num].ToString()); + } +``` +### 定义一个字符串,字符串中有100个中文字符,需要从中随机取5-50个字符,组成新的字符 +``` +public IActionResult Create(){ + string text = "天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾不宁载戢干戈载櫜弓矢民协厥中临深履薄同律度量垂宪章乘风破浪举重若轻" + int num1 = new Random().Next(4,50); + string str = ""; + for (int i = 0; i < num1; i++) + { + int num2 = new Random().Next(0,text.Length); + str+=text[num2]; + } + return Content(str); + } +``` +### 定义2个字符串,第一个字符串中放百家姓,第二个字符串中放中文字符,要求从第一个字符串随机取得一个姓,再从第二个字符串中随机获得1到2个字符组成新字符串,和第一个字符串取得的姓组成一个姓名 +``` +public IActionResult Create(){ + string surname_name=""; + string surname="赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万支柯昝管卢莫经房裘缪干解应宗丁宣贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄麴家封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘景詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲邰从丛鄂索咸籍赖卓蔺屠蒙池乔阴欎胥能苍双闻莘党翟谭贡劳逄姬" + int ranSueName = new Random().Next(0,surname_name.Length); + surname_name+=bname[surname]; + + string name = "天地玄黄宇宙洪荒日月盈昃辰宿列张寒来暑往秋收冬藏闰余成岁律吕调阳云腾致雨露结为霜金生丽水玉出昆冈剑号巨阙珠称夜光果珍李柰菜重芥姜海咸河淡鳞潜羽翔龙师火帝鸟官人皇始制文字乃服衣裳推位让国有虞陶唐吊民伐罪周发殷汤坐朝问道垂拱平章爱育黎首臣伏戎羌遐迩一体率宾不宁载戢干戈载櫜弓矢民协厥中临深履薄同律度量垂宪章乘风破浪举重若轻" + int ran = new Random().Next(1,3); + for(int i = 0;i Date: Sun, 1 Dec 2024 21:57:59 +0800 Subject: [PATCH 6/9] 28 --- .../200241128\350\257\225\345\233\276.md" | 28 +++++++++++++++++++ ...15\345\220\221\344\273\243\347\220\206.md" | 26 +++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241126-\346\255\243\345\217\215\345\220\221\344\273\243\347\220\206.md" diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" new file mode 100644 index 0000000..e78a383 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" @@ -0,0 +1,28 @@ +# 视图定义属性 +定义: +@{ + 属性(键值对) +} +调用: +@键 + +# 接收view +@model 命名空间.类名 +@Model.键 + +# 定位点 +`` + +专业项练习-视图及其模板引擎 +### 渲染(展示)简单数据类型到视图 +![20241201210711](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241201210711.png) +### 渲染(展示)对象数据到视图 +![20241201211501](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241201211501.png) +### 渲染(展示)集合数据到视图 +![20241201212018](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241201212018.png) +### 渲染(展示)包含集合数据的对象数据到视图 +![20241201213230](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241201213230.png) +### 尝试构建如下图所示的经典CRUD列表 +![20241201215648](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241201215648.png) + + diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241126-\346\255\243\345\217\215\345\220\221\344\273\243\347\220\206.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241126-\346\255\243\345\217\215\345\220\221\344\273\243\347\220\206.md" new file mode 100644 index 0000000..95b84d8 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241126-\346\255\243\345\217\215\345\220\221\344\273\243\347\220\206.md" @@ -0,0 +1,26 @@ +## 正向代理 +定义:正向代理服务器位于客户端和目标服务器之间,客户端通过代理服务器访问目标服务器。 + +作用: + +隐藏客户端的真实IP地址,保护客户端隐私。 + +缓存请求结果,提高访问速度。 + +过滤请求,进行内容审查。 + +作为防火墙,保护内部网络不受外部攻击。 + +## 反向代理 +定义:反向代理服务器位于目标服务器和客户端之间,客户端直接与代理服务器通信,而代理服务器再将请求转发给目标服务器。 + +作用: +隐藏后端服务器的真实IP地址,保护服务器安全。 + +负载均衡,将请求分发到多个后端服务器。 + +SSL加密,提高数据传输安全性。 + +压缩和缓存静态内容,提高访问速度。 + +提供额外的安全层,如Web应用防火墙(WAF)。 -- Gitee From acc38be91e4a3edee0afa98218857370772b8141 Mon Sep 17 00:00:00 2001 From: unknown <3270372860@qq.com> Date: Sun, 8 Dec 2024 18:13:55 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...60\345\212\240\347\273\203\344\271\240.md" | 317 ++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 "\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241205-\350\241\250\345\215\225\347\254\224\350\256\260\345\212\240\347\273\203\344\271\240.md" diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241205-\350\241\250\345\215\225\347\254\224\350\256\260\345\212\240\347\273\203\344\271\240.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241205-\350\241\250\345\215\225\347\254\224\350\256\260\345\212\240\347\273\203\344\271\240.md" new file mode 100644 index 0000000..7f0af30 --- /dev/null +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/20241205-\350\241\250\345\215\225\347\254\224\350\256\260\345\212\240\347\273\203\344\271\240.md" @@ -0,0 +1,317 @@ +## 表单 +基本表单结构: +``` +
+ + +``` +控制器: +在该方法名前面加 `[HttpPost]` +该方法参数为 `(类型 变量名)` + +删除写一个新的方法 +按钮`` +进行删除然后返回首页 +#### 专项练习-Linq集成查询和Lambda表达式 + + +##### 基础练习 + +1. **查询特定元素** + 找出数组中等于5的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6 }; + ``` +![20241208170855](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208170855.png) + +2. **查询特定范围的元素** + 找出数组中在2到8之间的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6 }; + ``` +![20241208171337](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208171337.png) + +3. **查询并转换元素** + 将数组中的每个数字乘以2。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6 }; + ``` +![20241208172946](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208172946.png) + +4. **查询特定属性的对象** + 找出所有名字以"王"开头的学生。 + + ```csharp + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "王中王", Age = 22 }, + new Student {Id=3, Name = "张语嫣", Age = 23 }, + new Student {Id=4, Name = "詹宇航", Age = 35 }, + new Student {Id=5, Name = "郑雨良", Age = 26 }, + }; + ``` +![20241208180610](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208180610.png) + +5. **查询并排序** + 找出所有年龄大于20岁的学生,并按年龄降序排列。 + + ```csharp + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "罗婷", Age = 21 }, + new Student {Id=3, Name = "王中王", Age = 22 }, + new Student {Id=4, Name = "李子柒", Age = 22 }, + new Student {Id=5, Name = "张语嫣", Age = 23 }, + new Student {Id=6, Name = "詹宇航", Age = 35 }, + new Student {Id=7, Name = "郑雨良", Age = 26 }, + new Student {Id=8, Name = "欧文", Age = 26 }, + }; + ``` +![20241208180737](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208180737.png) + +6. **查询并去重** + 找出数组中所有不重复的数字。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![20241208180855](https://bucket32703.oss-cn-beijing.aliyuncs.com/img32703/20241208180855.png) + +7. **查询第一个元素** + 找出数组中第一个大于3的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/202412057.png) + + +8. **查询最后一个元素** + 找出数组中最后一个小于7的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/202412058.png) + +9. **查询元素是否存在** + 检查数组中是否存在大于10的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/202412059.png) + +10. **查询元素的计数** + 计算数组中大于5的元素数量。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/202412059.png) + +11. **查询元素的总和** + 计算数组中所有元素的总和。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120511.png) + +12. **查询元素的最大值** + 找出数组中的最大值。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120512.png) + +13. **查询元素的最小值** + 找出数组中的最小值。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120513.png) + +14. **查询元素的平均值** + 计算数组中所有元素的平均值。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120514.png) + +15. **查询特定条件的元素** + 找出数组中能被3整除的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120515.png) + +##### 中级练习 + +16. **查询并选择特定属性** + 找出所有学生的姓名和年龄。 + + ```csharp + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "罗婷", Age = 21 }, + new Student {Id=3, Name = "王中王", Age = 22 }, + new Student {Id=4, Name = "李子柒", Age = 22 }, + new Student {Id=5, Name = "张语嫣", Age = 23 }, + new Student {Id=6, Name = "詹宇航", Age = 35 }, + new Student {Id=7, Name = "郑雨良", Age = 26 }, + new Student {Id=8, Name = "欧文", Age = 26 }, + }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120516.png) + +17. **查询并分组** + 按年龄分组学生,并计算每个年龄组的学生数量。 + + ```csharp + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "罗婷", Age = 21 }, + new Student {Id=3, Name = "王中王", Age = 22 }, + new Student {Id=4, Name = "李子柒", Age = 22 }, + new Student {Id=5, Name = "张语嫣", Age = 23 }, + new Student {Id=6, Name = "詹宇航", Age = 35 }, + new Student {Id=7, Name = "郑雨良", Age = 26 }, + new Student {Id=8, Name = "欧文", Age = 26 }, + }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120517.png) + +18. **查询并联结** + 联结学生和课程表,找出每个学生的所有课程。 + + ```csharp + List students = new List + { + new Student {Id=1, Name = "王有才", Age = 21 }, + new Student {Id=2, Name = "罗婷", Age = 21 }, + new Student {Id=3, Name = "王中王", Age = 22 }, + new Student {Id=4, Name = "李子柒", Age = 22 }, + new Student {Id=5, Name = "张语嫣", Age = 23 }, + new Student {Id=6, Name = "詹宇航", Age = 35 }, + new Student {Id=7, Name = "郑雨良", Age = 26 }, + new Student {Id=8, Name = "欧文", Age = 26 }, + }; + List courses=new List + { + new Course{StudentId=1,CourseName="英语"}, + new Course{StudentId=1,CourseName="数学"}, + new Course{StudentId=2,CourseName="语文"}, + new Course{StudentId=3,CourseName="物理"}, + new Course{StudentId=4,CourseName="化学"}, + new Course{StudentId=4,CourseName="生物"}, + new Course{StudentId=4,CourseName="语文"}, + }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/2024120518.png) + +19. **查询并反转** + 反转数组中的元素顺序。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205194707.png) + +20. **查询并填充** + 找出数组中第一个大于2的元素,并用它填充后面的所有位置。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205195443.png) + +21. **查询并排除** + 从数组中排除所有小于5的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205195642.png) + +22. **查询并填充默认值** + 如果数组中存在null值,用默认值0替换。 + + ```csharp + int?[] nullableNumbers = { 1, null, 3, null, 5 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205200029.png) + +23. **查询并转换类型** + 将字符串数组转换为整数数组。 + + ```csharp + string[] stringNumbers = { "1", "2", "3", "4" }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205200323.png) + + +24. **查询并使用OfType过滤** + 从对象数组中过滤出字符串类型的元素。 + + ```csharp + object[] objects = { "String", 123, "Another String", 456 }; + var result = objects.OfType().ToList(); + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205200523.png) + +##### 高级练习 + +25. **查询并使用Zip合并** + 合并两个数组,并创建一个包含元素对的新数组。 + + ```csharp + int[] numbers1 = { 1, 2, 3 }; + int[] numbers2 = { 4, 5, 6 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205201538.png) + +26. **查询并使用Range生成** + 生成一个包含1到10的整数数组。 + + ```csharp + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205201815.png) + +27. **查询并使用Repeat重复** + 重复一个元素多次,创建一个新数组。 + + ```csharp + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205202113.png) + +28. **查询并使用Take限制数量** + 从数组中取出前5个元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205202409.png) + +29. **查询并使用Skip跳过元素** + 跳过数组中的前3个元素,然后取出剩余的元素。 + + ```csharp + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + ``` +![](https://gitee.com/shen-yulin20051127/imgs/raw/master/imgs/20241205202409.png) + + + + -- Gitee From 9dd7296dbd12c3eb9c151f480191e3a10e0936d0 Mon Sep 17 00:00:00 2001 From: unknown <3270372860@qq.com> Date: Sun, 8 Dec 2024 19:23:24 +0800 Subject: [PATCH 8/9] 1 --- ...12\346\263\250\346\204\217\351\241\271.md" | 31 ------------------- ...40\345\217\212\344\275\234\344\270\232.md" | 13 -------- ...40\345\217\212\347\254\224\350\256\260.md" | 13 -------- ...0241114-dotnet\346\240\267\345\274\217.md" | 11 ------- 4 files changed, 68 deletions(-) delete mode 100644 "\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" delete mode 100644 "\347\206\212\345\200\251/20241114-mvc\347\273\203\344\271\240\345\217\212\344\275\234\344\270\232.md" delete mode 100644 "\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" delete mode 100644 "\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" 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" deleted file mode 100644 index 99627c5..0000000 --- "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" +++ /dev/null @@ -1,31 +0,0 @@ -# 基本结构 -* 文件夹 - * 解决方案(创建语法 : `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/\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" deleted file mode 100644 index 537fc9f..0000000 --- "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" +++ /dev/null @@ -1,13 +0,0 @@ -## 笔记 -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/\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" deleted file mode 100644 index 5d831b7..0000000 --- "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" +++ /dev/null @@ -1,13 +0,0 @@ -## 笔记 -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\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" deleted file mode 100644 index b386506..0000000 --- "a/\351\203\255\346\242\246\345\252\233/20241114-dotnet\346\240\267\345\274\217.md" +++ /dev/null @@ -1,11 +0,0 @@ -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 -- Gitee From 4666cf85885d7b34722006e1e23a3afb67c29af5 Mon Sep 17 00:00:00 2001 From: unknown <3270372860@qq.com> Date: Sun, 8 Dec 2024 19:36:14 +0800 Subject: [PATCH 9/9] 1 --- .../200241128\350\257\225\345\233\276.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" index e78a383..1a865fb 100644 --- "a/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" +++ "b/\346\235\234\344\270\200\345\215\232/\350\257\276\345\240\202\347\254\224\350\256\260/200241128\350\257\225\345\233\276.md" @@ -8,7 +8,7 @@ # 接收view @model 命名空间.类名 -@Model.键 +@Model.键 # 定位点 `` -- Gitee