From c505bec23a227d1168495e2ca469cf63bc7495ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=98=89=E7=8E=B2?= <14091858+softwork-wjl@user.noreply.gitee.com> Date: Sun, 29 Dec 2024 20:37:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=87=BA=E9=94=99=E4=BA=86=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...31\346\200\201\347\275\221\347\253\231.md" | 176 +++++++++++++ ...76\346\216\247\345\210\266\345\231\250.md" | 128 +++++++++ ...75\344\273\244\346\211\213\345\206\214.md" | 130 ++++++++++ ...4\274\240\345\217\202\345\222\214model.md" | 118 +++++++++ .../20241120-\344\275\234\344\270\232.md" | 158 +++++++++++ ...40\351\200\222\345\217\202\346\225\260.md" | 166 ++++++++++++ .../20241127-\350\247\206\345\233\276.md" | 194 ++++++++++++++ .../20241128-\351\232\217\346\234\272.md" | 213 +++++++++++++++ ...62\346\237\223\347\224\273\351\235\242.md" | Bin 0 -> 5842 bytes .../20241204-\345\242\236\346\224\271linq.md" | Bin 0 -> 4330 bytes .../20241205-\345\210\240\351\231\244.md" | 79 ++++++ ...45\346\225\260\346\215\256\345\272\223.md" | 70 +++++ .../20241212-linq29.md" | 245 ++++++++++++++++++ ...46\347\224\237\344\277\241\346\201\257.md" | 91 +++++++ ...05\345\255\246\347\224\237\350\241\250.md" | 47 ++++ ...5\347\237\245\350\257\206\347\202\2712.md" | 14 + .../20241226-\347\254\224\350\256\260.md" | 1 + .../\345\233\276\347\211\207/CRUD.png" | Bin 0 -> 37737 bytes .../crue\345\242\236.png" | Bin 0 -> 155779 bytes .../\345\233\276\347\211\207/image.png" | Bin 0 -> 22285 bytes .../20240925\346\237\261\347\212\266.html" | 21 ++ .../20240925\346\237\261\347\212\2661.html" | 63 +++++ ...\346\234\200\345\260\217\345\200\274.html" | 56 ++++ ...\351\207\217\345\243\260\346\230\216.html" | 52 ++++ ...\346\217\220\346\254\276\346\234\272.html" | 67 +++++ ...\346\210\267\344\277\241\346\201\257.html" | 20 ++ .../20240908js\345\237\272\347\241\200.md" | 25 ++ ...27\347\254\246\350\257\255\345\217\245.md" | 222 ++++++++++++++++ ...13\345\255\220\346\225\260\347\273\204.md" | 116 +++++++++ ...75\346\225\260\346\226\271\346\263\225.md" | 110 ++++++++ ...50\345\237\237\345\257\271\350\261\241.md" | 212 +++++++++++++++ ...60\346\215\256\347\261\273\345\236\213.md" | 94 +++++++ .../image.png" | Bin 0 -> 396953 bytes 33 files changed, 2888 insertions(+) create mode 100644 "\345\220\264\345\230\211\347\216\262/20241108-\351\203\250\347\275\262\351\235\231\346\200\201\347\275\221\347\253\231.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241111-\345\210\233\345\273\272\350\247\206\345\233\276\346\216\247\345\210\266\345\231\250.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241114-Linux\345\270\270\350\247\201\345\221\275\344\273\244\346\211\213\345\206\214.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241202-\345\242\236\345\210\240\346\224\271\346\270\262\346\237\223\347\224\273\351\235\242.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241204-\345\242\236\346\224\271linq.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241205-\345\210\240\351\231\244.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241212-linq29.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241223-\347\237\245\350\257\206\350\241\245\345\205\205\345\255\246\347\224\237\350\241\250.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241225-\350\241\245\345\205\205\347\237\245\350\257\206\347\202\2712.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/20241226-\347\254\224\350\256\260.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" create mode 100644 "\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/crue\345\242\236.png" create mode 100644 "\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240925\346\237\261\347\212\266.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240925\346\237\261\347\212\2661.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240927\344\275\234\344\270\232\346\234\200\345\244\247\345\200\274\346\234\200\345\260\217\345\200\274.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/2024912\345\217\230\351\207\217\345\243\260\346\230\216.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\346\217\220\346\254\276\346\234\272.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\347\224\250\346\210\267\344\277\241\346\201\257.html" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240908js\345\237\272\347\241\200.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240921\350\277\220\347\256\227\347\254\246\350\257\255\345\217\245.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240925for\344\276\213\345\255\220\346\225\260\347\273\204.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240927\347\254\224\350\256\260\345\207\275\346\225\260\346\226\271\346\263\225.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240929\344\275\234\347\224\250\345\237\237\345\257\271\350\261\241.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/2024912js\345\243\260\346\230\216\345\217\230\351\207\217\345\222\214\345\270\270\351\207\217\350\277\230\346\234\211\346\225\260\346\215\256\347\261\273\345\236\213.md" create mode 100644 "\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/image.png" diff --git "a/\345\220\264\345\230\211\347\216\262/20241108-\351\203\250\347\275\262\351\235\231\346\200\201\347\275\221\347\253\231.md" "b/\345\220\264\345\230\211\347\216\262/20241108-\351\203\250\347\275\262\351\235\231\346\200\201\347\275\221\347\253\231.md" new file mode 100644 index 0000000..5319136 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241108-\351\203\250\347\275\262\351\235\231\346\200\201\347\275\221\347\253\231.md" @@ -0,0 +1,176 @@ +## 第一步如何安装nginx:命令如下 +``` +yum install -y nginx +``` + +## 第二步:设置nginx开机启动和nginx现在启动,命令如下: +``` +systemctl enable nginx + +systemctl start nginx +``` + +## 第三步、查看nginx情况,命令如下: +``` +systemctl status nginx +``` + +## 第四步、在/var/下创建www文件夹,并在www文件夹下创建以域名为名称的文件夹,由于我的域名是9ihub.com,所以,创建的文件夹名称就为9ihub.com,命令分别如下: +``` +mkdir /var/www + +cd /var/www + +mkdir 9ihub.com + +cd 9ihub.com +``` +....具体看:(https://gitee.com/myhfw003/how-to-build-a-static-website#%E7%AC%AC%E4%B8%89%E6%AD%A5%E6%9F%A5%E7%9C%8Bnginx%E6%83%85%E5%86%B5%E5%91%BD%E4%BB%A4%E5%A6%82%E4%B8%8B) + +### 1. 连接到远程服务器 + +#### 检查网络连接 + +在尝试SSH连接之前,确保你的本地机器可以与远程服务器通信。你可以使用`ping`命令来测试网络连通性: + +bash + +```bash +ping 远程主机地址 +``` + +- **远程主机地址**:可以是IP地址或域名。 + +如果`ping`命令成功,你将看到回应信息,这表明网络连接是正常的。如果`ping`失败,可能存在网络问题,需要进一步排查。 + +#### 检查安全组设置 + +如果你使用的是云服务或虚拟私有服务器(VPS),确保安全组(Security Groups)或防火墙规则允许从你的IP地址到远程服务器的22端口(SSH默认端口)的流量。这通常可以在云服务提供商的管理控制台中设置。 + +#### 开始连接服务器 + +在使用SSH连接到远程服务器时,你需要提供用户名和主机地址。以下是SSH连接的基本格式: + +```bash +ssh 用户名@主机地址 +``` + +- **用户名**:这是你在远程服务器上的账户名称。 +- **主机地址**:这是远程服务器的IP地址或者域名。 + +例如,如果你的用户名是`root`,服务器的IP地址是`192.168.1.1`,你可以使用以下命令连接: + +```bash +ssh root@192.168.1.1 +``` + +如果你使用的是域名,比如`example.com`,命令会是这样的: + +```bash +ssh root@example.com +``` + +**提示**:为了安全起见,建议使用密钥认证代替密码认证,这样可以避免在登录时输入密码。 + +### 2. 更新软件源 + +在Debian或Ubuntu系统上,你可以使用以下命令更新软件源并升级所有软件包: + +```bash +sudo apt update +sudo apt upgrade -y +``` + +- `sudo`:以超级用户权限运行命令。 +- `apt update`:更新本地软件包索引。 +- `apt upgrade -y`:升级所有可升级的软件包,`-y`参数表示自动回答“yes”。 + +### 3. 安装Nginx + +使用以下命令安装Nginx: + +```bash +sudo apt install -y nginx +``` + +- `sudo`:以超级用户权限运行命令。 +- `apt install`:安装软件包。 +- `-y`:自动回答“yes”以安装软件。 + +### 4. 创建网站目录 + +首先,切换到根目录并列出当前目录内容,然后创建一个新的网站目录: + +```bash +cd / +ls +cd /var/www/ +sudo mkdir www.example.com +``` + +- `cd /`:切换到根目录。 +- `ls`:列出当前目录的文件和文件夹。 +- `cd /var/www/`:切换到网站文件通常存放的目录。 +- `sudo mkdir www.example.com`:创建一个新的目录,用于存放你的网站文件。 + +### 5. 上传静态页面 + +使用SCP命令将本地文件上传到远程服务器。如果路径中包含空格,请确保使用引号将路径括起来: + +```bash +scp "你的本地文件路径" 用户名@主机地址:"/var/www/www.example.com/" +``` + +- `scp`:安全复制命令,用于在本地和远程服务器之间传输文件。 +- `"你的本地文件路径"`:替换为你的本地文件或目录的路径。 +- `用户名@主机地址`:替换为你的用户名和主机地址。 +- `"/var/www/www.example.com/"`:远程服务器上的目标路径。 + +**提示**:如果你有多个文件或目录需要上传,可以考虑使用`rsync`命令,它提供了更多的选项和更好的性能。 + +### 6. 编写Nginx配置文件 + +切换到Nginx配置文件目录,并创建一个新的配置文件: + +```bash +cd /etc/nginx/conf.d/ +sudo vim www.example.com.conf +``` + +- `cd /etc/nginx/conf.d/`:切换到Nginx配置文件所在的目录。 +- `sudo vim www.example.com`:使用`vim`编辑器创建一个新的配置文件。 + +在配置文件中,输入以下内容: + +```nginx +server { + listen 80; + server_name www.example.com; + + location / { + root /var/www/www.example.com; + index index.html; + } +} +``` + +- `listen 80;`:监听80端口,这是HTTP的默认端口。 +- `server_name www.example.com;`:指定服务器块的域名。 +- `location /`:定义请求的location块,用于处理对网站根目录的请求。 +- `root /var/www/www.example.com;`:指定网站文件的根目录。 +- `index index.html;`:指定默认的索引文件。 + +保存并退出vim编辑器(输入`:wq`)。 + +**提示**:在进行配置更改后,始终检查配置文件的语法是否正确,可以使用`sudo nginx -t`命令来测试配置文件。 + +### 7. 重载Nginx配置 + +使用以下命令重载Nginx配置,使更改生效: + +```bash +sudo nginx -s reload +``` + +- `sudo`:以超级用户权限运行命令。 +- `nginx -s reload`:重载Nginx配置文件。 \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241111-\345\210\233\345\273\272\350\247\206\345\233\276\346\216\247\345\210\266\345\231\250.md" "b/\345\220\264\345\230\211\347\216\262/20241111-\345\210\233\345\273\272\350\247\206\345\233\276\346\216\247\345\210\266\345\231\250.md" new file mode 100644 index 0000000..25a6f4a --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241111-\345\210\233\345\273\272\350\247\206\345\233\276\346\216\247\345\210\266\345\231\250.md" @@ -0,0 +1,128 @@ +# 创建新的控制器、文件夹和视图文件 + +## 1. 创建新控制器 + ++ 控制器用于处理用户请求并返回视图或数据。每个控制器类通常位于 `Controllers` 文件夹中,继承自 `Controller` 类。 + ++ 控制器的命名规则通常是:**控制器名称 + Controller**,例如:`HomeController`、`ProductController`。 + ++ 下面用`HomeController`举例子 + +### 示例代码: + +```csharp +using Microsoft.AspNetCore.Mvc; // 记得引用 Microsoft.AspNetCore.Mvc 命名空间 + +namespace MyFirstMvc.Controllers +{ + public class HomeController : Controller // 继承自 Controller 基类 + { + public IActionResult Index() + { + return View(); // 返回 Index 视图 + } + + public IActionResult About() + { + return View(); // 返回 About 视图 + } + } +} +``` + +### 解释: + ++ **HomeController**:这是新创建的控制器类,继承自 `Controller` 类。记得在文件顶部引用 `Microsoft.AspNetCore.Mvc` 命名空间,否则无法使用 `Controller` 类。 ++ **Index** 和 **About** 方法:这两个方法是控制器的动作(Action),分别用于响应 `/Home/Index` 和 `/Home/About` 请求。 ++ **return View();**:表示返回视图,默认查找名为 `Index.cshtml` 和 `About.cshtml` 的视图。 + +## 2. 创建视图文件夹和视图文件 + ++ 视图是用户最终看到的页面。通常情况下,视图文件存放在 `Views` 文件夹中,按照控制器名称组织。 + +### 步骤: + +1. 在 `Views` 文件夹中创建一个新的文件夹,命名为与控制器名称相同的名字(例如:`Home`)。 +2. 在 `Views/Home` 文件夹中,创建与控制器方法同名的视图文件(例如:`Index.cshtml` 和 `About.cshtml`)。 + +### 示例文件夹和文件结构: + ++ MyFirstMvc + + Controllers + + HomeController.cs + + + Views + + Home + + Index.cshtml + + About.cshtml + + +### 视图文件示例: + +#### `Views/Home/Index.cshtml` 文件内容: + +```html +@{ + Layout = "_Layout"; // 使用布局视图 +} + +

欢迎来到 HomeController 的 Index 页面

+

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

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

关于页面

+

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

+``` + +### 解释: + +- **`@{ Layout = "_Layout"; }`**:这行代码表示当前视图使用 `Views/Shared/_Layout.cshtml` 作为布局视图,布局文件通常用于放置网站的头部、导航和底部等共享部分。 +- **视图内容**:每个视图文件显示与控制器方法对应的内容。在 `Index.cshtml` 中,显示的是 `Index` 页面的内容;在 `About.cshtml` 中,显示的是 `About` 页面的内容。 + +## 3. 配置控制器和视图之间的连接 + +### 步骤: + +1. 在控制器方法中使用 `return View();` 返回视图。 +2. 如果视图文件夹和文件名与控制器和方法名称一致,MVC 会自动找到相应的视图文件。 + +例如,在 `HomeController` 中: + +```csharp +public IActionResult Index() +{ + return View(); // 自动查找 Views/Home/Index.cshtml +} + +public IActionResult About() +{ + return View(); // 自动查找 Views/Home/About.cshtml +} +``` + +### 解释: + +- **`return View();`**:在没有显式指定视图名称的情况下,ASP.NET Core MVC 会自动查找与当前控制器方法同名的视图文件。 + - `Index` 方法会查找 `Views/Home/Index.cshtml`。 + - `About` 方法会查找 `Views/Home/About.cshtml`。 + +## 4. 运行项目并测试 + +在创建好控制器和视图之后,可以运行项目并通过浏览器访问新创建的页面。 + +- 访问 `/Home/Index` 应该会显示 `Views/Home/Index.cshtml` 的内容。 +- 访问 `/Home/About` 应该会显示 `Views/Home/About.cshtml` 的内容。 + +## 5. 总结 + +- **控制器**:处理请求并返回视图。控制器的文件通常放在 `Controllers` 文件夹中。就像是网站的“导游”,它会根据用户的需求指引你到正确的页面。 +- **视图**:展示给用户的页面。视图文件放在 `Views` 文件夹中,并按照控制器名称组织。就像是展示给用户的网页内容,是你在浏览器中看到的部分。 +- **文件命名约定**:控制器文件以 `Controller` 结尾,视图文件与控制器方法同名。就像是给控制器和视图起名字的规范,帮助系统知道哪个控制器和哪些视图是相对应的。 +- **布局视图**:可以使用 `_Layout.cshtml` 来定义网站的公共布局部分(如头部、导航、底部等)。就像是网页的“模板”,确保每个页面都有相同的头部、导航和底部,让网站看起来一致而不重复。 \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241114-Linux\345\270\270\350\247\201\345\221\275\344\273\244\346\211\213\345\206\214.md" "b/\345\220\264\345\230\211\347\216\262/20241114-Linux\345\270\270\350\247\201\345\221\275\344\273\244\346\211\213\345\206\214.md" new file mode 100644 index 0000000..1621bb9 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241114-Linux\345\270\270\350\247\201\345\221\275\344\273\244\346\211\213\345\206\214.md" @@ -0,0 +1,130 @@ +# Linux常见命令速查手册 +注意:以下命令的实验环境均基于Debian12,但除了Debian独有命令apt外,大部分命令都是通用的 + +## 一、如何登录服务器 +登录服务器命令:ssh root@XXX.XXX 第一次登录会底部要不要接受:输入yes,然后回车 输入密码,输入密码过程,没有任何显示,是正常的现象,只管理密码,然后回车就可以了 + +## 二、部署静态网站的核心科技 +网页所放位置在如下路径:/var/www/XXX.XXX/index.html + +nginx配置文件所放的位置在如下路径:/etc/nginx/conf.d/XXX.XXX.conf + +测试nginx的配置文件有无语法错误,命令如下:nginx -t 如果返回类似ok successful之类的提示,则表明没有语法错误,反之,需要排查语法 + +强制nginx重新加载配置文件命令:nginx -s reload + + +## 三、命令速查 +1. ls ++ **作用**:列出指定目录下的内容(文件或文件夹),如果没有指定目录,则显示当前目录下内容 ++ **语法**:ls 目录 ++ **常用选项**:a,列出所有的内容;l,以列表形式展示内容 ++ **常用命令的形式**:ls -al ++ **常用命令的作用**:列出当前目录下所有的内容,包括隐藏的文件和文件夹,并且以列表形式展示,如下所示: +``` +root@soft:~# ls -al +total 60 +drwx------ 7 root root 4096 Nov 8 09:06 . +drwxr-xr-x 18 root root 4096 Nov 7 13:16 .. +-rw------- 1 root root 1377 Nov 8 11:50 .bash_history +-rw-r--r-- 1 root root 743 Nov 7 16:41 .bashrc +drwx------ 5 root root 4096 Nov 8 09:19 .config +drwxr-xr-x 5 root root 4096 Nov 7 16:53 .npm +drwxr-xr-x 8 root root 4096 Nov 7 16:44 .nvm +-rw-r--r-- 1 root root 316 Nov 7 11:42 .profile +drwx------ 2 root root 4096 Nov 7 11:42 .ssh +-rw------- 1 root root 10402 Nov 7 15:54 .viminfo +-rw-r--r-- 1 root root 172 Nov 7 16:41 .zshrc +-rw-r--r-- 1 root root 350 Nov 8 09:06 init_debian.sh +drwxr-xr-x 6 root root 4096 Nov 7 16:45 sprite-cow +``` +2. cd ++ **作用**:切换当前目录到指定目录(当前目录也叫工作目录) ++ ****语法:cd 目录(可以是相对路径、绝对路径) ++ **常用选项**:无 ++ **常用命令的形式**:cd ++ **常用命令的作用**:直接回到家目录(root用户登录,就是root用户的家目录) +3. mkdir ++ **作用**:创建文件夹 ++ **语法**:mkdir 要创建的目录所在路径/要创建的目录名称 ++ **常用选项**: ++ **常用命令的形式**:mkdir XXX ++ **常用命令的作用**:在当前目录中创建名为XXX的文件夹 +4. rm ++ **作用**:删除文件夹或者目录,默认情况下,只能删除空目录 ++ **语法**:rm XXX ++ **常用选项**:r 递归删除其下所有的内容;f 强制删除(慎用!!!) ++ **常用命令的形式**:rm XXX ++ **常用命令的作用**:删除当前目录下名为XXX的文件 +5. vim ++ **作用**:编辑文件 ++ **语法**:vim XXX ++ **常用选项**:无 ++ **常用命令的形式**: ++ **常用命令的作用**: + + vim几个模式:命令模式、编辑模式(插入模式)、线性命令模式 + 几个模式之间的切换: + + vim刚进入是命令模式,按字母i进入编辑模式,此时可以输入内容; + + 按Esc键回到命令模式,此时可以输入:wq保存退出,或者:q不保存退出,后面加!表示强制,如:wq!表示强制保存退出,:q!表示不保存退出 + + 线性命令模式是较高级的用法,此处不作介绍 +6. scp ++ **作用**:用于传输内容到指定服务器 ++ **语法**:scp 文件 账号@服务器地址(ip或域名都可以):/xxx/xxx ++ **常用选项**:r 递归传输目录下所有的内容; ++ **常用命令的形式**:scp ./xxx.xx root@9ihub.com:/var/www ++ **常用命令的作用**:传输当前目录下的xxx.xx文件到9ihub.com所对应服务器下的/var/www目录中,并且是以root用法登录 +7. cp ++ **作用**:复制文件或文件夹 ++ **语法**:cp 源文件 目标目录 ++ **常用选项**:r 递归传输目录下所有的内容 ++ **常用命令的形式**: ++ **常用命令的作用**: +8. mv ++ **作用**:移动文件或文件夹 ++ **语法**: ++ **常用选项**: ++ **常用命令的形式**:mv abc.xyz abc.xyz.conf ++ **常用命令的作用**:将当前目录下的abc.xyz文件移动为abc.xyz.conf,实际效果为重命名 + + +### 执行 .NET SDK 命令。 + ++ sdk-options: +``` + | -d|--diagnostics | 启用诊断输出。 + |-h|--help | 显示命令行帮助。 + |--info | 显示 .NET 信息。 + |--list-runtimes |显示安装的运行时。 + |--list-sdks |显示安装的 SDK。 + |--version |显示使用中的 .NET SDK 版本。 +``` +### SDK 命令: + + add 将包或引用添加到 .NET 项目。 + + build 生成 .NET 项目。 + + build-server 与由生成版本启动的服务器进行交互。 + + clean 清理 .NET 项目的生成输出。 + + format 将样式首选项应用到项目或解决方案。 + + help 显示命令行帮助。 + + list 列出 .NET 项目的项目引用。 + + msbuild 运行 Microsoft 生成引擎(MSBuild)命令。 + + new 创建新的 .NET 项目或文件。 + + nuget 提供其他 NuGet 命令。 + + pack 创建 NuGet 包。 + + publish 发布 .NET 项目进行部署。 + + remove 从 .NET 项目中删除包或引用。 + + restore 还原 .NET 项目中指定的依赖项。 + + run 生成并运行 .NET 项目输出。 + + sdk 管理 .NET SDK 安装。 + + sln 修改 Visual Studio 解决方案文件。 + + store 在运行时包存储中存储指定的程序集。 + + test 使用 .NET 项目中指定的测试运行程序运行单元测试。 + + tool 安装或管理扩展 .NET 体验的工具。 + + vstest 运行 Microsoft 测试引擎(VSTest)命令。 + + workload 管理可选工作负荷。 + +### 捆绑工具中的其他命令: + + dev-certs 创建和管理开发证书。 + + fsi 启动 F# 交互/执行 F# 脚本。 + + user-jwts 在开发中管理 JSON Web 令牌。 + + user-secrets 管理开发用户密码。 + + watch 启动文件观察程序,它会在文件发生更改时运行命令。 \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" "b/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" new file mode 100644 index 0000000..8b41f52 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241118-\344\274\240\345\217\202\345\222\214model.md" @@ -0,0 +1,118 @@ +# 笔记 +``` +//引入命名空间(但是在引入之间,如果不是sdk自带的包的话,需要先安装依赖包) +using Microsoft.AspNetCore.Mvc; +using System; + +// 新版的命名空间形式 +namespace Blog.Controllers; + +//控制器(本质其实就是1个类型,通过继承Contro1ler这个类型来获得所有关于控制器的功能) +public class BlogsController : Controller{ + // 专业名称叫action,本质上其实就是一个方法(方法三要素:方法名称、参数、返回值) + public string Index(){ + var id = 18; + return id.ToString(); + } + + public string Create(){ + var rnd = new Random(); + return rnd.Next().Tostring();//需要将int类型显式转换为字符串 + } +} +``` +## 控制器 +* 控制器:本质其实就是 一个类型,通过继承Controller这个类型来获取所有关于控制器的功能 + * 模型绑定- 如何给方法传递参数 + * Restful + * get + * get /blogs + * 获取很多博客文章列表 + * get /blogs/18 + * 获取指定id为18的博客文章 + * post post /blogs + * 新增一篇博者文章,内容在body + * put put /blogs/1 + * 修改id为1的博客,内容在在body + * delete delete /blogs/2 + * 删除id为2的博客 + * products + * get /products + * 获取商品列表 + * get /products/33 + * 获取id为33的商品信息 + * post /products + * 新路1个商品,商品信息在body中 + * put /products/99 + * 修改id为99的商品,修改信息在body中 + * delete /products/18 + * 删除id为18的商品 + * books + * get /books/13/comments + * 获取id为13的那本书的评论列表 + * post /books/13/comments + * 给id为13的那本书,新增一条评论 + * put /books/13/comments/99 + * 修改id为13的那本书的评论 + * xdelete /books/13/comments/39 + * 删除id13的那本书下,id为39的评论 + +### 传参 + +1. 第一步先定义字段 + + 在Model中创StudentsCreateDto.cs + + 内容: + ``` + namespace Blog.Models; + //第一步先定义字段 + Public class StudentsCreateDto{ + Public string StudentName{get;set;}=null!; + Public string Age{get;set;}=null!; + Public string Height{get;set;}=null!; + } + ``` + +2. 之后在控制器创建BlogsController.cs + + 内容: + ``` + Using Microsoft.AspNetCCore.Mvc; + Using Blog.Medols; + namespace Blog.Controllers; + + Public class BlogsController : Controller{ + Public IActionResult List(){ + return RedirectToAction("index"); + } + } + ``` +2.1 //使用字段(第二步) +``` +Public dynamic Index(){//序列化反序列化 +var obj = new StudentsCreateDto{ + StudentName = "小米", + Age = "18", + Height = "188" +}; +return View(obj); +} +``` + +3. 在View 创Blogs文件夹+index ++ 内容:(str是自己命名,注意分号;StudentName是Model里面定义的字段名 ) +``` +@{ + var str="文字"; + @ str; + +

@str

//文字会变一级标题 + @Model.StudentName //调用的是Model的名字字段 + + //如果是多组用foreach遍历 + @foreach(var item in @Model){ +

@item.StudentName

+ + } +} +``` + + diff --git "a/\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" "b/\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" new file mode 100644 index 0000000..ab23235 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241120-\344\275\234\344\270\232.md" @@ -0,0 +1,158 @@ +# Linux +1. 尝试使用以下几种方式分别登录服务器,说明它们分别的注意事项,并说明它们之间的区别: ++ ssh客户端; ++ tabby应用; ++ xShell; ++ putty; +``` + 平台支持:SSH客户端通常是跨平台的,而Xshell和PuTTY最初是为Windows设计的,尽管PuTTY也有Unix版本。 + 用户界面:Tabby和Xshell提供了图形用户界面,适合不喜欢命令行的用户;SSH客户端和PuTTY既可以使用命令行也可以使用图形界面。 + 功能丰富性:Tabby作为一个终端模拟器,功能更加丰富,支持多种协议和配置;而Xshell和PuTTY更专注于SSH连接。 + 安全性:所有工具都支持SSH加密连接,但密钥管理的便捷性和安全性可能有所不同,特别是图形界面工具可能更易于配置但需要更注意密钥的保护。 + ``` +2. 命令:apt update,并了解这一步的实际用处和意义 + + apt update 是维护Linux系统安全性和最新性的重要步骤,它确保了系统在安装、升级或移除软件包时能够基于最新的信息进行操作 + ``` +同步软件包列表: +apt update 命令会从配置的软件源(通常是APT软件仓库)下载最新的软件包列表。这些列表包含了可用软件包的版本信息、依赖关系和其他元数据。 + +检查更新: +通过同步最新的软件包列表,系统可以知道哪些软件包有可用的更新。这对于确保系统和软件的安全至关重要,因为软件更新通常包括安全修复。 + +准备安装、升级和移除操作: +在执行 apt install、apt upgrade 或 apt remove 等命令之前,通常需要先运行 apt update 来确保系统有最新的软件包信息。这样,当执行这些操作时,系统会基于最新的信息来安装、升级或移除软件包。 + +提高效率: +apt update 命令会缓存更新的软件包列表,这样在短期内再次执行 apt update 时,不需要重新下载整个列表,从而提高了操作的效率。 + +避免安装过时的软件包: +如果不定期更新软件包列表,可能会安装已经发布更新版本的过时软件包,这可能会导致安全漏洞或兼容性问题。 + +命令执行过程: +当执行 apt update 时,APT会: + +读取 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d/ 目录下的 .list 文件,这些文件定义了软件源。 +从这些软件源下载最新的软件包列表。 +更新本地的软件包索引文件,这些文件通常位于 /var/lib/apt/lists/ 目录下。 + ``` +![20241124195934](wikzn.store/20241124195934.png) + +3. 命令:apt upgrade -y,并了解这一步的实际用处意义 +``` +1. 安装软件包更新 +2. 自动解决依赖关系 +3. 提高系统安全性 +4. 修复已知问题 +5. 自动统一安装 +apt upgrade -y 是一个强大的命令,用于自动化地更新系统中的所有软件包,提高系统的安全性和稳定性。然而,它也需要用户注意备份数据、监控更新过程,并确保网络连接的稳定性 +``` + +# mvc +1. +``` +项目名称通常与项目文件的名称相匹配。例如,如果你的项目名为 T4,那么项目文件通常命名为 T4.csproj +``` +2. 创建一个控制项目,项目名称Blog +``` + dotnet new console -n 'Blog' +``` +3. 创建一个控制台项目,输出到Blog目录 +``` +mkdir Blog +cd Blog +dotnet new console +``` +4. 创建一个MVC项目,指定项目名称 +``` +dotnet new mvc -n Blog +``` +5. 创建一个MVC项目,指定输出目录 +``` +dotnet new mvc -n Blog +cd Blog +dotnet new mvc +``` +6. 创建一个带解决方案,其下有一个MVC项目,3个类库项目的“综合项目” +``` +dotnet new sln -o 'sln' +dotnet new mvc -n 'Blog' + +dotnet new classlib -n Xiangmu1 +dotnet new classlib -n Xiangmu2 +dotnet new classlib -n Xiangmu3 +``` +7. 创建一个项目,在默认控制器(Home)下,新增一个Action方法,名为Ok,同时为其创建对应视图以显示这个视图 +``` +1. 在MVC项目中,打开Controllers文件夹中的HomeController.cs文件。 +2. 添加一个新的Action方法Ok: +public IActionResult Ok() +{ + return View(); +} +3. 创建视图文件,在Views/Home目录下创建一个名为Ok.cshtml的文件,并添加以下内容: +

Ok

+

This is the Ok view.

+``` +8. 创建一个项目,创建一个新的控制器,名为Blogs,新的控制器拥有一个名为Index的Action,该方法返回一个视图,视`图显示“神级预判” +``` +1.右键单击Controllers文件夹,选择“添加” > “控制器”。 +2.选择“MVC控制器 - 空”。 +3.输入控制器名称“BlogsController”,然后点击“添加”。 +4.在BlogsController.cs中添加Index方法: +using Microsoft.AspNetCore.Mvc; + +namespace MyMvcProject.Controllers +{ + public class BlogsController : Controller + { + public IActionResult Index() + { + return View(); + } + } +} +5. 创建视图文件,在Views/Blogs目录下创建一个名为Index.cshtml的文件,并添加以下内容: +

神级预判

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

CRUD Interface

+

This is a classic CRUD interface.

+``` +10. 给第8题的新控制器,新增一个Action,名为List,不接受任何参数,并返回对应视图,视图显示一个经典CRUD界面 +``` +右键单击Controllers文件夹,选择“添加” > “控制器”。 +选择“MVC控制器 - 空”。 +输入控制器名称“ProductsController”,然后点击“添加”。 +在ProductsController.cs中添加Edit方法: +using Microsoft.AspNetCore.Mvc; + +namespace MyMvcProject.Controllers +{ + public class ProductsController : Controller + { + public IActionResult Edit(int id) + { + ViewData["Message"] = "Edit this product: " + id; + return View(); + } + } +} +创建视图文件,在Views/Products目录下创建一个名为Edit.cshtml的文件,并添加以下内容: +

Edit Product

+

@ViewData["Message"]

+``` +11. 新增一个控制器,名为Products,该控制器具有一个名为Edit的Action,这个Action接受一个int类型的参数id,显示这个id + +12. 在11题的新控制器中,新增一个名为Create的Action,该Action接受一个类型为Students(有姓名、年龄、体长属性)的参数,并展示该参数的姓名属性 +![20241125215621](www.wikzn.store/20241125215621.png) +![alt text](./图片/image.png) + diff --git "a/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" "b/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" new file mode 100644 index 0000000..fdf1bef --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241125-\344\274\240\351\200\222\345\217\202\346\225\260.md" @@ -0,0 +1,166 @@ +# 专项练习-控制器传参 +1. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index的Action,并且传递一个int类型的值,id为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index/5 + public ActionResult Index(int id) + { + // 你的逻辑代码 + return View(); + } +} +``` +2. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_2的Action,并且传递一个string类型的值,id为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index_2/someId + public ActionResult Index_2(string id) + { + // 你的逻辑代码 + return View(); + } +} +``` +3. 简单参数传递 在一个叫Blog控制器中,定义一个叫Index_3的Action,并且传递一个string类型的值,name为变量名 +``` +public class BlogsController : Controller +{ + // GET: Blog/Index_3/JohnDoe + public ActionResult Index_3(string name) + { + // 你的逻辑代码 + return View(); + } +} +``` +4. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create的Action,并且传递一个BlogCreateDto类型的值,blogCreateDto为变量名 + + + PS BlogCreateDto类型具有Title、Author、Content自动属性 + 1. 定义BlogsCreateDto类: + ``` + public class BlogCreateDto + { + public string Title { get; set; } + public string Author { get; set; } + public string Content { get; set; } + } + ``` + 2. 你可以在 Blog 控制器中定义 Create Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create(BlogCreateDto blogCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存blogCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(blogCreateDto); + } + } + ``` +5. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_1的Action,并且传递一个Products类型的值,productCreateDto为变量名 + + + PS Products类型具有Name、 Price、Stock自动属性 + 1. 定义Products类 + ``` + public class Products + { + public string Name { get; set; } + public decimal Price { get; set; } + public int Stock { get; set; } + } + ``` + + 2. 在 Blog 控制器中定义 Create_1 Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create_1(Products productCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存productCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(productCreateDto); + } + } + ``` + +6. 复杂参数传递 在一个叫Blog的控制器中,定义一个名为Create_2的Action,并且传递一个Students类型的值,studentCreateDto为变量名 + + + PS Students类型具有StudentName、Sex、Age自动属性 + 1. 定义Students类 + ``` + public class Students + { + public string StudentName { get; set; } + public string Sex { get; set; } // 通常性别用 "Male" 或 "Female" 表示,但这里根据你的要求使用 string 类型 + public int Age { get; set; } + } + ``` + + 2. 在 Blog 控制器中定义 Create_2 Action 方法: + ``` + public class BlogController : Controller + { + [HttpPost] // 通常用于处理POST请求 + public ActionResult Create_2(Students studentCreateDto) + { + if (ModelState.IsValid) + { + // 你的逻辑代码,例如保存studentCreateDto到数据库 + + // 操作成功后,重定向到另一个Action或返回视图 + return RedirectToAction("Success"); + } + + // 如果模型无效,返回带有错误信息的视图 + return View(studentCreateDto); + } + } + ``` +# 专项练习-基础能力 +1. mvc生成一个随机整数,范围[0,100],注意是否包含 + 1. 你需要确保你的项目中已经引入了 System 命名空间,因为 Random 类位于该命名空间下。 + ``` + using System; + + public class BlogController : Controller + { + // GET: Blog/RandomNumber + public ActionResult RandomNumber() + { + // 创建Random类的实例 + Random random = new Random(); + + // 生成一个0到100之间的随机整数,包括0和100 + int randomNumber = random.Next(0, 101); // Upper bound is exclusive, so we use 101 + + // 将随机数传递给视图 + return View(randomNumber); + } + } + ``` + 2. 可以创建一个名为 RandomNumber.cshtml 的视图文件 + ``` + @model int + +

Random Number

+

The generated random number is: @Model

+ ``` + diff --git "a/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" "b/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" new file mode 100644 index 0000000..e198773 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241127-\350\247\206\345\233\276.md" @@ -0,0 +1,194 @@ +## 一、关于Action的返回值 + +1. 基础数据类型, 如int、string、List<>等等 +2. IActionResult,返回响应的状态码 + - 视图 + - 重定向 +3. ActionResult,是前面2个的结合体,意思为既可以返回基础数据类型,也可以返回响应状态 +4. 内容响应:JsonResult、ContentResult +5. POCO(比较老的类型对象) + +## 二、视图 + +1. Razor 专业说法 模版引擎 + - 大部分时候,我们都是通过View函数,传入数据(ViewModel)给视图,这样一来,视图中就可以通过@Model这个属性来取得这些数据 + + ``` + //在index写 + @{ + var str = "尝尝鱿鱼" + } + @str + +

@str

+ ``` + + - 实际上,我们可以通过声明视图模型的类型,来获得自动提示或者自动感知 +2. 在视图上显示数据的几个玩法 + - 在视图上定义简单数据,在视图上显示(在视图上定义对象数据,在视图上定义集合数据,显示的问题) + + - 后端传回来的对象数据,在视图上显示 + - 在后端传回来集合数据,在视图上显示 + +# 传参 +## 1. 第一步先定义字段 + + 在Model中创StudentsCreateDto.cs + + 内容: + ``` + namespace Blog.Models; + //第一步先定义字段 + Public class StudentsCreateDto{ + Public string StudentName{get;set;}=null!; + Public string Age{get;set;}=null!; + Public string Height{get;set;}=null!; + } + ``` + +2. 之后在控制器创建BlogsController.cs + + 内容: + ``` + Using Microsoft.AspNetCCore.Mvc; + Using Blog.Medols; + namespace Blog.Controllers; + + Public class BlogsController : Controller{ + Public IActionResult List(){ + return RedirectToAction("index"); + } + } + ``` +2.1 //使用字段(第二步) +``` +Public dynamic Index(){//序列化反序列化 +var obj = new StudentsCreateDto{ + StudentName = "小米", + Age = "18", + Height = "188" +}; +return View(obj); +} +``` + +3. 在View 创Blogs文件夹+index ++ 内容:(str是自己命名,注意分号;StudentName是Model里面定义的字段名 ) +``` +@{ + var str="文字"; + @ str; + +

@str

//文字会变一级标题 + @Model.StudentName //调用的是Model的名字字段 + + //如果是多组用foreach遍历 + @foreach(var item in @Model){ +

@item.StudentName

+ + } +} +``` +# 作业 +1. 渲染简单数据到页面 ++ Model代码: + ``` + namespace Blog.Models; + + //第一步先定义字段 + + public class StudentsCreateDto{ + public string StudentName{get;set;}=null!; + public string Age{get;set;}=null!; + public string Height{get;set;}=null!; + + } + ``` ++ 控制器代码 + ``` + //控制器 + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller { + public IActionResult List(){ + return RedirectToAction("index"); + } + //第二步再使用Model里面的字段 + public dynamic Index(){//序列化反序列化 + + var obj= new StudentsCreateDto{ + StudentName="小米", + Age = "18", + Height ="188" + }; + return View(obj); + + } + } + ``` ++ 视图代码: + ``` + @{ + var str= "试试"; + } + @str + +

@str

+ + ``` +效果: +![20241127213836](www.wikzn.store/20241127213836.png) +2. 渲染复杂数据到页面 + Model,控制器如上; + 视图如下: + ``` + @Model.StudentName + +

@Model.Age

+ ``` +![20241127220347](www.wikzn.store/20241127220347.png) +3. 渲染集合数据到页面 ++ Model代码如上 ++ 控制器代码: + ``` + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller { + public IActionResult List(){ + return RedirectToAction("index"); + } + + //第二步再使用Model里面的字段 + public dynamic Index(){//序列化反序列化 + var list=new List{ + new StudentsCreateDto { + StudentName="oppo", + Age = "18", + Height ="178" + }, + new StudentsCreateDto { + StudentName="vivo", + Age = "19", + Height ="178" + }, + new StudentsCreateDto { + StudentName="荣耀", + Age = "20", + Height ="155" + }, + }; + return View(list); + } + } + ``` ++ 效果: + ![20241127220105](www.wikzn.store/20241127220105.png) +3. 视图里调用: + ``` + @foreach(var item in @Model){ +

@item.StudentName

+ } + ``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" new file mode 100644 index 0000000..cd0d9da --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241128-\351\232\217\346\234\272.md" @@ -0,0 +1,213 @@ +# 笔记 + + +# 作业 +1. 生成一个随机整数,范围[0,100],注意是否包含 +2. 生成一个随机整数,范围(0,100],注意是否包含 ++ 控制器 + ``` + using Microsoft.AspNetCore.Mvc; + using Blog.Models; + + namespace Blog.Controllers; + + public class BlogsController : Controller{ + public IActionResult Test(){ + var ranTer = new Random(); + var ranNum = ranTer.Next(0,101); + + return Content(ranNum.ToString()); + } + } + ``` + +3. 生成10个随机整数,范围[5,80],注意是否包含 + +4. 定义一个字符串,字符串中有100个中文字符,需要从中随机取1个字符串 ++ 控制器 + ``` + public class BlogsController : Controller{ + public IActionResult Test(){ + + var ranTer = new Random(); + var ranNum = ranTer.Next(0,5); + + var str = "我是新东方"; + var ranStr =str[ranNum]; + + return Content(ranStr.ToString()); + + } + } + ``` +# 随机组合姓名第六题第七题: ++ 控制器 +```c# +using Microsoft.AspNetCore.Mvc; +using Blog.Models; + +namespace Blog.Controllers; + +public class WjlController : Controller +{ + //Xing 和 Chinese 是两个私有的只读字符串字段,分别存储了百家姓和中文字符。 + private readonly string Xing = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻柏水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳酆鲍史唐费廉岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅皮卞齐康伍余元卜顾孟平黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计伏成戴谈宋茅庞熊纪舒屈项祝董梁杜阮蓝闵席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田樊胡凌霍虞万柯咎管卢莫经房裘缪干解应宗宣丁贲邓郁单杭洪包诸左石崔吉钮龚程嵇邢滑裴陆荣翁荀羊於惠甄魏加封芮羿储靳汲邴糜松井段富巫乌焦巴弓牧隗山谷郏车侯宓蓬全郗班仰秋仲伊宫宁仇栾暴甘钭厉戎祖武符刘姜詹束龙叶幸司韶郜黎蓟薄印宿白怀蒲台从鄂索咸籍赖卓蔺屠蒙池乔阴郁胥能苍双"; + private readonly string Chinese = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制其应上的以要大由来一九开义又应有会着活更现面且斗则要由明看能事制受后定包干能老国将义相要论据到理系及定规学管"; + + // Blogs 方法是控制器的入口点,当用户访问根url时会被调用。 + // 调用 GetRandomNames(100) 方法生成100个随机姓名。 + // 使用 View 方法将生成的姓名列表传递给视图进行渲染。 + public IActionResult Blogs() + { + var names = GetRandomNames(100); + return View(names); + } + + // GetRandomNames: + // 这是一个私有方法,用于生成指定数量的随机姓名。 + private List GetRandomNames(int count) + { + // 创建一个 Random 实例用于生成随机数。 + var random = new Random(); + + // 创建一个空的字符串列表 names 用于存储生成的姓名。 + var names = new List(); + + // 使用 for 循环生成指定数量的姓名: + for (int i = 0; i < count; i++) + { + //使用 random.Next(Xing.Length) 从 Xing 字符串中随机选择一个索引,然后使用该索引获取一个姓。 + int xingIndex = random.Next(Xing.Length);//获取随机整数 + + string surname = Xing[xingIndex].ToString(); + + //使用 random.Next(1, 3) 生成1到2之间的随机数,决定从 Chinese 中选择多少个字符。 + int charCount = random.Next(1, 3); // 随机1到2个字符 + + // 使用 random.Next(Chinese.Length - charCount + 1) 生成字符的起始索引。 + int charIndex = random.Next(Chinese.Length - charCount + 1); + + // 使用 Substring 方法从 Chinese 中提取指定数量的字符。 + string firstName = Chinese.Substring(charIndex, charCount); + names.Add(surname + firstName);//将姓和名拼接成完整的姓名,并添加到 names 列表中。 + } + + return names;//最后返回包含所有生成姓名的列表 + } +} +``` + ++ 视图: +``` +@model List +@{ + ViewData["Title"] = "名字"; +} + +

名字

+ +
    + @foreach (var name in Model) + { +
  • @name
  • + } +
+``` +# Crud列表 ++ 效果图 +![20241130231840](www.wikzn.store/20241130231840.png) +![alt text](./图片/CRUD.png) + ++ 控制器 +```c# +using Models; +using Microsoft.AspNetCore.Mvc; + +public class CredController : Controller { + public ActionResult Index(){ + var obj = new { + + title="152" + + }; + return View(obj); +} +} +``` + ++ Model +```c# +namespace Models; + +public class CredCreateDto{ + public string Title { get; set; }=null!; + public string Author { get; set; }=null!; + public string Content { get; set; }=null!; +} +``` + ++ 视图 +```c# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID标题内容作者
1222333 + 编辑| + 详情| + 删除 +
2222333 + 编辑 | + 详情 | + 删除 +
3222333 + 编辑| + 详情| + 删除 +
4222333 + 编辑| + 详情| + 删除 +
+ +@Model.title +``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241202-\345\242\236\345\210\240\346\224\271\346\270\262\346\237\223\347\224\273\351\235\242.md" "b/\345\220\264\345\230\211\347\216\262/20241202-\345\242\236\345\210\240\346\224\271\346\270\262\346\237\223\347\224\273\351\235\242.md" new file mode 100644 index 0000000000000000000000000000000000000000..a62d4ffbaf34d2e47e45e73fb4df5395158de287 GIT binary patch literal 5842 zcmXpqFf!3MG}1RR(={}(G6EuVJu`D-g=EWQg`m{Z;>^5s1z$%$PdC@#5CvDOn5RpY zKiSpuWJg!bi-yJ*%?p$Bi&A64f}QhIQgzES^NfvjE6hxE4fQO|^bBx{rzDmn#*`MP z7U_an!Kp=MnaQaN;rT_`sYNj^K-r|k;#7T@y}AYhjKBDg3%Bd4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R e7!85Z5Eu=C(GVC7fzc2c4S~@R7!3j9LI40Ee|<^- literal 0 HcmV?d00001 diff --git "a/\345\220\264\345\230\211\347\216\262/20241204-\345\242\236\346\224\271linq.md" "b/\345\220\264\345\230\211\347\216\262/20241204-\345\242\236\346\224\271linq.md" new file mode 100644 index 0000000000000000000000000000000000000000..8d34c8e14d4fdd9a94e93cfab9f3e7abfc365ee2 GIT binary patch literal 4330 zcmZQ&3Y{y!z`(FKXjUW)cXTXRumC6q0uIa!JT+P%788g7gCGVLAPwO=G6XXuGvqTA zF{Cp1G9)tO0dYEzT?AFj%48D&GCwVNRwN9!wBR@2k(reQ^LYnnhJq!ctZ=>~Lt3mQI?5aEw({y_#OVCd&FWMd6| z28LE9删除`获取Id值 +2. Delete.cshtml中的样式 + ``` + @model Blog.Models.Blogs; +

你真的要删除吗?

+ + + + + + + + + + + + + + + + + +
标题@Model.Title
内容@Model.Content
作者@Model.Author
删除回到主页
+ ``` +3. 展示删除页面 + ``` + public IActionResult Delete(int id) + { + //根据id找到对应的blog + var blog=Db.Blogs.FirstOrDefault(X=>X.Id==id); + return View(blog); + } + ``` +4. 确认删除页面 + ``` + public IActionResult DeleteConfirm(int id) + { + //根据id找到对应的blog + var blog=Db.Blogs.FirstOrDefault(X=>X.Id==id); + //如果blog不为空,查找出来就删除 + if(blog!=null) + { + Db.Blogs.Remove(blog); + //删除完返回列表页 + return RedirectToAction("Index"); + } + //如果找不到就返回找不到提示 + return NotFound(); + } + ``` + + +## 查询步骤 +1. Index.cshtml的查询样式 + ``` +
+ + +
+ ``` +2. 查询页面 + ``` + public IActionResult Index(string keyword) + { + //判读keyword是否为空,不为空则删除空格 + keyword=string.IsNullOrEmpty(keyword)?"":keyword.Trim(); + //如果为空返回主页 + if(string.IsNullOrEmpty(keyword)) + { + return View(Db.Blogs); + } + //如果不为空,则查询 + var list=Db.Blogs.Where(x=>x.Title.Contains(keyword)||x.Content.Contains(keyword)||x.Author.Contains(keyword)).ToList(); + return View(list); + } + ``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" "b/\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 0000000..e6132d8 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241209-\351\223\276\346\216\245\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,70 @@ +# 数据模型 +## 数据库的选择和权衡 + + + Sqlserver + + PostgreSQL + + Mysql/MariaDb + + Oracle + + Db2 + + Sybase + +## ORM工具的选择和使用 + + + EntityFrameworkCore + + Dapper + + SqlSuper + +# 数据的持久化 + - 结绳记事 + - 甲骨文 + - 木简 + - 竹简 + - 纸 + - 账本 + - 文本文件、Excel (磁盘:HDD、SSD) + - 数据库 + - 常见数据库 + - Sqlserver + - PostgreSQL + - Mysql/MariaDb - + - 常见ORM工具(比喻为应用和数据库之间的通讯员) + - Dapper + - EntityFrameworkCore + - FreeSql + + +# 应用EntityFrameworkCore的步骤 +1. 安装依赖包,命令:dotnet add package Microsoft.EntityFrameworkCore.SqlServer +2. 定义数据库表模型 + ``` + namespace Blog.Models; + + public class Blogs + { + public int Id { get; set; } + public string Title { get; set; } = null!; + public string Content { get; set; } = null!; + public string Author { get; set; } = null!; + } + ``` +3. 定义数据库上下文 + ``` + using Microsoft.EntityFrameworkCore; + + namespace Blog.Models; + + public class BlogDbContext : DbContext + { + public DbSet Blogs { get; set; } = null!; + + + // The following configures EF to create a Sqlite database file in the + // special "local" folder for your platform. + protected override void OnConfiguring(DbContextOptionsBuilder options) + => options.UseSqlServer($"Server=.\\SQLEXPRESS;database=Blog4;uid=sa;pwd=123456;TrustServerCertificate=True;"); + } + ``` + +4. 生成迁移文件,命令:`dotnet ef migrations add XXX` (PS:可能需要安装如下依赖包:Microsoft.EntityFrameworkCore.Design) + +5. 将上一步生成的迁移文件,更新到数据库:`dotnet ef database update`(PS:需要保证连接字符串正确无误,包括用户名、密码等,数据库打开,并且允许远程连接) \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241212-linq29.md" "b/\345\220\264\345\230\211\347\216\262/20241212-linq29.md" new file mode 100644 index 0000000..7b29fc8 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241212-linq29.md" @@ -0,0 +1,245 @@ +1. 第1-3题 + ``` + public IActionResult Index() + { + int[] numbers = { 1, 2, 3, 4, 5, 6 }; + //1.查询特定元素 找出数组中等于5的元素。 + var one = numbers.Where(n => n == 5).ToList(); + //查询特定范围的元素 找出数组中在2到8之间的元素 + var two = numbers.Where(n => n >2 && n<8).ToList(); + //查询并转换元素 将数组中的每个数字乘以2 + var three=numbers.Select(n=>n*2).ToList(); + return View(); + } + ``` +2. 第4题 + ``` + public IActionResult Index() + { + //查询特定属性的对象 找出所有名字以"王"开头的学生。 + 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 }, + }; + var four=students.Where(n=>n.Name.Contains("王")).ToList(); + return View(four); + } + ``` +3. 第5题 + ``` + public IActionResult Index() + { + List students = new List + { + //查询并排序 找出所有年龄大于20岁的学生,并按年龄降序排列。 + 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 }, + }; + var five=students.Where(n=>n.Age>=20).OrderByDescending(s => s.Age).ToList(); + return View(five); + } + ``` +4. 第6-15题 + ``` + public IActionResult Index() + { + //查询并去重 找出数组中所有不重复的数字。 + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + var a=numbers.Distinct().ToList(); + //查询第一个元素 找出数组中第一个大于3的元素。 + var b=numbers.FirstOrDefault(x=>x>3); + //查询最后一个元素 找出数组中最后一个小于7的元素。 + var c=numbers.LastOrDefault(x=>x<7); + //查询元素是否存在 检查数组中是否存在大于10的元素 + var d=numbers.Any(x=>x>10); + //查询元素的计数 计算数组中大于5的元素数量。 + var e=numbers.Count(x=>x>5); + //查询元素的总和 计算数组中所有元素的总和。 + var f=numbers.Sum(); + //查询元素的最大值 找出数组中的最大值。 + var g=numbers.Max(); + //查询元素的最小值 找出数组中的最小值。 + var h=numbers.Min(); + //查询元素的平均值 计算数组中所有元素的平均值。 + //double average = numbers.Average(); + var i=numbers.Sum()/numbers.Length; + //查询特定条件的元素 找出数组中能被3整除的元素。 + var j=numbers.Where(n => n % 3 == 0).ToList(); + return View(); + } + ``` +5. 第16-17题 + ``` + public IActionResult Index() + { + 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 }, + }; + //查询并选择特定属性 找出所有学生的姓名和年龄 + var a = students.Select(x => new{x.Name,x.Age}).ToList(); + //查询并分组 按年龄分组学生,并计算每个年龄组的学生数量。 + var b=students.GroupBy(s => s.Age) .Select(g => new { Age = g.Key, Count = g.Count() }) .ToList();; + return View(); + } + ``` +6. 第18题 + ``` + public IActionResult Index() + { + 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="语文"}, + }; + //查询并联结 联结学生和课程表,找出每个学生的所有课程。 + var a = from student in students join course in courses on student.Id equals course.StudentId into studentCourses + select new{StudentName = student.Name,Courses = studentCourses.Select(c => c.CourseName).ToList()}; + return View(a.ToList()); + + } + ``` +7. 第19-21题 + ``` + public IActionResult Index() + { + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + //查询并反转 反转数组中的元素顺序。 + var a = numbers.AsEnumerable().Reverse(); + // 将结果转换回数组 + int[] four = a.ToArray(); + //查询并填充 找出数组中第一个大于2的元素,并用它填充后面的所有位置。 + int b = numbers.FirstOrDefault(n => n > 2); + // 如果找到了,用它填充后面的所有位置 + if (b != 0) // 这里使用0是因为b是int类型,它的默认值是0 + { + int index = Array.IndexOf(numbers, b); + for (int i = index + 1; i < numbers.Length; i++) + { + numbers[i] = b; + } + } + //查询并排除 从数组中排除所有小于5的元素。 + var c = numbers.Where(n => n >= 5).ToList(); + return View(); + + } + ``` +8. 第22题 + ``` + public IActionResult Index() + { + int?[] nullableNumbers = { 1, null, 3, null, 5 }; + //查询并填充默认值 如果数组中存在null值,用默认值0替换。 + var a = nullableNumbers.Select(n => n ?? 0).ToList(); + return View(); + } + ``` +9. 第23题 + ``` + public IActionResult Index() + { + string[] stringNumbers = { "1", "2", "3", "4" }; + //查询并转换类型 将字符串数组转换为整数数组。 + int[] a = stringNumbers.Select(int.Parse).ToArray(); + return View(); + } + ``` +10. 第24题 + ``` + public IActionResult Index() + { + object[] objects = { "String", 123, "Another String", 456 }; + var result = objects.OfType().ToList(); + //查询并使用OfType过滤 从对象数组中过滤出字符串类型的元素。 + return View(); + } + ``` +11. 第25题 + ``` + public IActionResult Index() + { + int[] numbers1 = { 1, 2, 3 }; + int[] numbers2 = { 4, 5, 6 }; + //查询并使用Zip合并 合并两个数组,并创建一个包含元素对的新数组。 + var a = numbers1.Zip(numbers2, (first, second) => new { first, second }).ToList(); + return View(); + } + ``` +12. 第26题 + ``` + public IActionResult Index(){ + //查询并使用Range生成 生成一个包含1到10的整数数组 + int[] a = Enumerable.Range(1, 10).ToArray(); + return View(a); + } + ``` +13. 第27题 + ``` + public IActionResult Index(){ + //查询并使用Repeat重复 重复一个元素多次,创建一个新数组。 + // 要重复的元素 + int number = 7; + // 重复的次数 + int repeatCount = 10; + // 使用LINQ的Repeat方法重复元素 + var a = Enumerable.Repeat(number, repeatCount).ToArray(); + // 将结果传递给视图 + return View(); + } + ``` +14. 第28题 + ``` + public IActionResult Index(){ + //查询并使用Take限制数量 从数组中取出前5个元素。 + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + // 使用LINQ的Take方法取出前5个元素 + var a = numbers.Take(5).ToArray(); + // 将结果传递给视图 + return View(); + } + ``` +15. 第29题 + ``` + public IActionResult Index(){ + //查询并使用Skip跳过元素 跳过数组中的前3个元素,然后取出剩余的元素。 + int[] numbers = { 1, 2, 3, 4, 5, 6,18,23,64,7,18,2,3 }; + // 使用LINQ的Skip方法跳过前3个元素 + var a = numbers.Skip(3).ToArray(); + // 将结果传递给视图 + return View(); + } + ``` \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" "b/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" new file mode 100644 index 0000000..bcd7336 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241216-\347\261\273\344\274\274\345\255\246\347\224\237\344\277\241\346\201\257.md" @@ -0,0 +1,91 @@ +# 学生信息表(完整步骤) +1. Models中创学生表,成绩表,课程表 +如下: +```c# +public class Course{ + //主键Id + public int Id{get;set;} + //课程名称 + public string CourseName{get;set;}=null!; + // .... +} +``` + +2. Models中类数据库表实现上下文的交互(文件名称叫**ScoreDbContext**) +```c# +Using Microsoft.EntityFrameworkCore; +namespace ScoreDbContext : DbContext{ + //以下为数据库上下文的公开属性,将会被映射到数据库表 + public Dbset Students{get;set;}=null!; + public Dbset Courses{get;set;}=null!; + public Dbset Scores{get;set;}=null!; +} + +protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){ + base.OnConfiguring(optionsBuilder); + + var conString = $"server=.\\SQLEXPRESS;database=Score4;uid=sa;pwd=123456;TrustServerCertificate=true;" + + optionsBuilder.UseSqlServer(conString) +} + +``` + +3. 实现交互在ScoreDbContext中的终端实现 + 1. 生成迁移文件:`dotnet ef migrations add XXX` + + 前提是: + - 第一得先安装依赖包(Design是数据库):`dotnet addd package Microsoft.EntityFrameworkCore.Design` + - 第二是需要一个工具,ef工具,安装命令是:`dotnet tool install --global dotnet-ef` + - 第三是要求程序不能有编译错误,若想确认有没有编译错误:`dotnet build` + - 第四是程序不能处于运行状态 + 2. 将迁移文件同步到数据库 +**若第三步成功会出现:Migrations文件夹** + +4. 打开数据库后,服务打开后开终端实现:`dotnet ef database update` +5. 可以打开数据库确认有没有成功 +6. 控制器中创建各个表的控制器:`studentController.cs ScoreController.cs CoureController.cs` +7. 创视图各个文件夹的Index例如: ++ 例如:课程的控制器: +```c# +// namespace .... +public class CourseController : Controller{ + //数据库的数据拿过来 + // _db是暂时的叫这个 + private readonly ScoreDbContext _db; + public CourseController(){ + _db = new ScoreDbContext(); + } + public IActionResult Index(){ + var list = _db.Course.ToList(); + return View(list); + } +} +``` +8. 视图创Index例如(课程信息表) +```c# +@model List; + + +// .... +@foreach(var item in @Model){ + + + + + +} +
@item.Id@item.CourseName + 编辑 + 删除 +
+ +``` + +9. 插入数据(数据库中) +``` +insert into Course(CourseName) values('英语'),('语文').... +``` + +10. Course控制器为例:写Edit、Delete、Create + +11. Course视图中创Edit.cshtml、Delete.cshtml、Create.cshtml \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/20241223-\347\237\245\350\257\206\350\241\245\345\205\205\345\255\246\347\224\237\350\241\250.md" "b/\345\220\264\345\230\211\347\216\262/20241223-\347\237\245\350\257\206\350\241\245\345\205\205\345\255\246\347\224\237\350\241\250.md" new file mode 100644 index 0000000..7844163 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241223-\347\237\245\350\257\206\350\241\245\345\205\205\345\255\246\347\224\237\350\241\250.md" @@ -0,0 +1,47 @@ +# 笔记 + +1. IEnumerable -->可迭代;可遍历;(集合接口) +**用了就可以用foreach** +例:`@model IRnumerable` + +2. 视图中要引用数据库的内容 + 2.1 写: + ```c# + public class StudentsController : Controller + { + //ScoreDbContext 是类数据库的那个伪库 + //_db是自己取得名字用来代替数据库名字 + private readonly ScoreDbContext _db; + //构造函数 + //名字要和控制器名字一模一样 + public StudentDbContext() + { + _db = new ScoreDbContext (); + } + //下一步:Index中要返回视图中 + //Index中的return View(_db.Courses)--->Courses和ScorewDbContext中Dbset取得名字一样 + + } + ``` + +3. `405的错误是`: ++ 参数错误 ++ Method对不上 + + +4. `404错误是:`**找不到页面** ++ 若无书写上的错误就重跑 + +5. 505请求处了问题 + +6. **编辑是Update 不是Add** +例:新增 +```c# +[HttpPost] +public IActionResult Create(Course input){ + //这里是Add;编辑就是Update + _db.Courses.Add(input); + _db.SaveChanges(); + return RedirectToAction("Index") +} +``` diff --git "a/\345\220\264\345\230\211\347\216\262/20241225-\350\241\245\345\205\205\347\237\245\350\257\206\347\202\2712.md" "b/\345\220\264\345\230\211\347\216\262/20241225-\350\241\245\345\205\205\347\237\245\350\257\206\347\202\2712.md" new file mode 100644 index 0000000..73f5bad --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241225-\350\241\245\345\205\205\347\237\245\350\257\206\347\202\2712.md" @@ -0,0 +1,14 @@ +## 笔记 + +1. 查询功能 method用的**get** + +2. from中写name=abc 这里的abc相当于keyword ++ 之后的Index中要(string abc)拿到参数 ++ 返回可以用:`return JsonSerializar.Serialize new{abc}` + +3. [ FromQuery] =>查询字符串 + +4. + 前|| 后 :如前对,后不执行 + + 前|后 : 都判断一遍 + + diff --git "a/\345\220\264\345\230\211\347\216\262/20241226-\347\254\224\350\256\260.md" "b/\345\220\264\345\230\211\347\216\262/20241226-\347\254\224\350\256\260.md" new file mode 100644 index 0000000..ab76a70 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/20241226-\347\254\224\350\256\260.md" @@ -0,0 +1 @@ +# 综上所述的完成完整过程 \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" "b/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/CRUD.png" new file mode 100644 index 0000000000000000000000000000000000000000..3f767c472b455ffb4c36e69bad1e0c0dc60e439c GIT binary patch literal 37737 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 Bq`vSclIVnQ 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 literal 0 HcmV?d00001 diff --git "a/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" "b/\345\220\264\345\230\211\347\216\262/\345\233\276\347\211\207/image.png" new file mode 100644 index 0000000000000000000000000000000000000000..15414b89a50974fbc9ae117cc8b65141f074feae GIT binary patch literal 22285 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 xQfc;U$_{|-gkC9K|HU(vJ6at7(KooXjX + + + + + Document + + + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240925\346\237\261\347\212\2661.html" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240925\346\237\261\347\212\2661.html" new file mode 100644 index 0000000..8dcbcce --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240925\346\237\261\347\212\2661.html" @@ -0,0 +1,63 @@ + + + + + +柱形图示例 + + + + +

+ + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240927\344\275\234\344\270\232\346\234\200\345\244\247\345\200\274\346\234\200\345\260\217\345\200\274.html" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240927\344\275\234\344\270\232\346\234\200\345\244\247\345\200\274\346\234\200\345\260\217\345\200\274.html" new file mode 100644 index 0000000..f0f78ac --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/20240927\344\275\234\344\270\232\346\234\200\345\244\247\345\200\274\346\234\200\345\260\217\345\200\274.html" @@ -0,0 +1,56 @@ + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/2024912\345\217\230\351\207\217\345\243\260\346\230\216.html" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/2024912\345\217\230\351\207\217\345\243\260\346\230\216.html" new file mode 100644 index 0000000..aab1fc0 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/2024912\345\217\230\351\207\217\345\243\260\346\230\216.html" @@ -0,0 +1,52 @@ + + + + + + Document + + + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\346\217\220\346\254\276\346\234\272.html" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\346\217\220\346\254\276\346\234\272.html" new file mode 100644 index 0000000..c92ed97 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\346\217\220\346\254\276\346\234\272.html" @@ -0,0 +1,67 @@ + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\347\224\250\346\210\267\344\277\241\346\201\257.html" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\347\224\250\346\210\267\344\277\241\346\201\257.html" new file mode 100644 index 0000000..c89dc65 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\344\275\234\344\270\232\344\273\243\347\240\201/\347\224\250\346\210\267\344\277\241\346\201\257.html" @@ -0,0 +1,20 @@ + + + + + + Document + + + + + \ No newline at end of file diff --git "a/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240908js\345\237\272\347\241\200.md" "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240908js\345\237\272\347\241\200.md" new file mode 100644 index 0000000..64fbf03 --- /dev/null +++ "b/\345\220\264\345\230\211\347\216\262/\350\257\276\345\240\202\347\254\224\350\256\260/20240908js\345\237\272\347\241\200.md" @@ -0,0 +1,25 @@ +# js基础第一课 + +### 1. JavaScript是什么? ++ 可以直接嵌入到HTML页面中,通过浏览器执行,实现人机交互; ++ ECMAScript和Web APIs + +### 2. JavaScript书写位置有几种?常用的是? +内部 外部 内联:外部脚本 + +### 3. JavaScript的注释分为哪几种? +#### JavaScript支持两种类型的注释: +- 单行注释:使用//开头,直到行尾的所有内容 +- 多行注释(或块注释):使用/*开始,使用*/结束 + +### 4. JavaScript的结束符是什么?是否可以省略? +;(分号),可以省略 + +### 5. javaScript输入输出语句都有哪些? ++ 输出: + + console.log()在控制台输出信息,最常用的输出方式(专门给i开发人员看的) + + document.write()或document.writeln()向网页中写入内容,但这种方式会重写整个页面的内容(如果在文档加载完成后使用)不常用 + + alter(),弹窗 ++ 输入: + + prompt() + +