From a1728cdf25500fc3cc9d17f5307b5cb8cb780e77 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E4=BE=AF=E5=87=A4=E9=98=B3?=
<14091016+houfengyang@user.noreply.gitee.com>
Date: Sun, 1 Dec 2024 18:56:28 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=94=E8=AE=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...6\345\200\274)\347\254\224\350\256\260.md" | 15 +++
...6\345\233\276)\347\254\224\350\256\260.md" | 28 ++++
.../20241129\347\254\224\350\256\260.md" | 127 ++++++++++++++++++
...\346\235\202\346\270\262\346\237\2231.png" | Bin 0 -> 34682 bytes
...6\345\220\210\346\270\262\346\237\223.png" | Bin 0 -> 29404 bytes
...\345\215\225\350\247\206\345\233\2762.png" | Bin 0 -> 26845 bytes
...\345\215\225\346\270\262\346\237\2231.png" | Bin 0 -> 24091 bytes
7 files changed, 170 insertions(+)
create mode 100644 "\344\276\257\345\207\244\351\230\263/20241125(\350\277\224\345\233\236\345\200\274)\347\254\224\350\256\260.md"
create mode 100644 "\344\276\257\345\207\244\351\230\263/20241127(\350\247\206\345\233\276)\347\254\224\350\256\260.md"
create mode 100644 "\344\276\257\345\207\244\351\230\263/20241129\347\254\224\350\256\260.md"
create mode 100644 "\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\345\244\215\346\235\202\346\270\262\346\237\2231.png"
create mode 100644 "\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\345\244\215\346\235\202\351\233\206\345\220\210\346\270\262\346\237\223.png"
create mode 100644 "\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\346\270\262\346\237\223\347\256\200\345\215\225\350\247\206\345\233\2762.png"
create mode 100644 "\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\347\256\200\345\215\225\346\270\262\346\237\2231.png"
diff --git "a/\344\276\257\345\207\244\351\230\263/20241125(\350\277\224\345\233\236\345\200\274)\347\254\224\350\256\260.md" "b/\344\276\257\345\207\244\351\230\263/20241125(\350\277\224\345\233\236\345\200\274)\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..00ded61
--- /dev/null
+++ "b/\344\276\257\345\207\244\351\230\263/20241125(\350\277\224\345\233\236\345\200\274)\347\254\224\350\256\260.md"
@@ -0,0 +1,15 @@
+- 返回值常见数据类型 ,如 int,string,List<>
+ - ICtionRresult,返回响应状态码,如:200.301,401,404,500等
+ - 视图
+ - 重定向
+ - ActionResult<> , 可以同时返回状态码或者常规数据类型
+ - JsonResult ,ContentResult ,返回响应就是存粹的数据
+ - POCO 可以返回一个对象,而这个对象就在被返回的时候,会被序列化(相对的是,反系列化)
+ ## 常用状态码和返回类型总结
+| 状态码 | 含义 | 返回类型 |
+| ------- | ------------------------ | ---------------------- |
+| 200 | 请求成功,数据返回 | `IActionResult` / `ViewResult` / `JsonResult` |
+| 301 | 永久重定向,资源已移动 | `RedirectResult` |
+| 401 | 未授权,身份验证失败 | `UnauthorizedResult` |
+| 404 | 资源未找到 | `NotFoundResult` |
+| 500 | 服务器内部错误 | `StatusCodeResult` |
\ No newline at end of file
diff --git "a/\344\276\257\345\207\244\351\230\263/20241127(\350\247\206\345\233\276)\347\254\224\350\256\260.md" "b/\344\276\257\345\207\244\351\230\263/20241127(\350\247\206\345\233\276)\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..1d7a2e5
--- /dev/null
+++ "b/\344\276\257\345\207\244\351\230\263/20241127(\350\247\206\345\233\276)\347\254\224\350\256\260.md"
@@ -0,0 +1,28 @@
+# Razor知识点
+```
+Razor 支持 C#,并使用@符号从 HTML 转换为 C#。 Razor 计算 C# 表达式,并将它们呈现在 HTML 输出中。
+当 @ 符号后跟 Razor 保留关键字时,它会转换为 Razor 特定标记.
+隐式 Razor 表达式
+以 @ 开头,后跟 C# 代码。隐式表达式不能包含空格,但 C# await 关键字除外。不能包含 C# 泛型,因为括号 (<>) 内的字符会被解释为 HTML 标记。
+显式 Razor 表达式
+由 @ 符号和平衡圆括号组成。
+```
+# 定位点标记帮助程序
+
+```
+Razor 还支持通过 asp- 前缀扩展 HTML 标记,使其支持动态生成 URL。常见的标记包括:
+
+asp-controller
+asp-controller 属性指定用于生成 URL 的控制器名称。例如,列出所有发言人的链接可以写作:
+
+All Speakers
+asp-action
+asp-action 属性指定生成的 URL 中的控制器操作。例如,跳转到发言人评估页:
+
+Speaker Evaluations
+asp-route-{value}
+asp-route-{value} 用于动态生成带有路由参数的 URL。{value} 会被替换为实际的路由参数值。例如:
+
+Speaker Details
+如果匹配不到路由模板,asp-route-{value} 会被当作请求参数附加到生成的 URL。
+```
\ No newline at end of file
diff --git "a/\344\276\257\345\207\244\351\230\263/20241129\347\254\224\350\256\260.md" "b/\344\276\257\345\207\244\351\230\263/20241129\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..fcca258
--- /dev/null
+++ "b/\344\276\257\345\207\244\351\230\263/20241129\347\254\224\350\256\260.md"
@@ -0,0 +1,127 @@
+# 定义一个模型Models,模拟数据库
+定义一个数据库的表
+静态构造函数(只执行一次,内容如果修改,则需要重新跑)
+初始化静态属性 - 直接初始化:public static List Blog = new List{"value1","value2"...}; - 使用静态构造函数(下面例子中的方法,推荐使用该方法 - 延迟初始化 - 使用属性初始化器
+给这个集合属性,塞进去一些内容
+## 创建数据库模型
+```
+public static class Db
+{
+ public static List Blog { get; set; }
+
+ // 静态构造函数,确保初始化只执行一次
+ static Db()
+ {
+ Blog = new List();
+
+ for (int i = 0; i < 15; i++)
+ {
+ var tmp = new Blog
+ {
+ Id = i + 1,
+ Title = "Title " + (i + 1),
+ Content = "Content of blog post " + (i + 1),
+ Author = "Author " + (i + 1)
+ };
+ Blog.Add(tmp);
+ }
+ }
+}
+```
+静态构造函数:Db 类的静态构造函数会在第一次访问类时执行,并初始化 Blog 集合。
+延迟初始化:这确保了 Blog 集合只有在需要时才被初始化。
+数据填充:通过静态构造函数,模拟的数据库会自动填充 15 条数据。
+## 创建视图来展示内容
+1. 展示博客列表并提供增、删、改功能
+2. 使用 标签和 Razor 的 asp- 属性来生成控制器操作的链接。以新增博客为例:
+
+```
+新增
+asp-controller:指定表单提交的目标控制器。
+asp-action:指定表单提交时调用控制器中的动作方法。
+```
+### 编辑链接示例
+编辑
+asp-route-id:传递给控制器的路由参数,通常是编辑项的 ID。
+3. 跳转至增加页面并创建表单
+创建新增博客的表单
+在 Create 动作对应的视图中,使用 form 表单来提交数据:
+
+@model Blogs.Models.Blog
+
+
+@model 声明:指定当前视图使用的模型类型。
+asp-for:为表单控件指定与模型属性的绑定。
+asp-action="Create":表单提交后将调用 Create 动作方法。
+4. 使用 POST 请求添加数据
+处理新增请求
+在控制器的 Create 动作中,我们将接收表单数据并将其添加到模拟数据库中。
+
+[HttpPost]
+public IActionResult Create(Blog input)
+{
+ // 获取表单中最大 ID 数,确保新添加的博客有唯一 ID
+ var maxId = Db.Blog.Select(t => t.Id).Max();
+ input.Id = maxId + 1; // 设置新的 ID
+
+ // 将新增的博客添加到数据库
+ Db.Blog.Add(input);
+
+ // 重定向到博客列表页面
+ return RedirectToAction("Index");
+ // 测试:return Content(JsonSerializer.Serialize(input)); 可返回提交的内容
+}
+获取最大 ID:使用 Max() 方法来找到当前 Blog 集合中的最大 ID,以便新博客的 ID 能自动递增。
+重定向:数据添加后,页面会重定向回博客列表页 (Index),确保用户可以看到最新的博客列表。
+
+
+# 作业:
+
+
+渲染简单数据到页面:c:\Users\ASUS\Desktop\简单渲染1.png
+```
+ public int Index(){
+ return 994 ;
+ }
+ ```
+
+2. 渲染复杂数据到页面
+ c:\Users\ASUS\Desktop\复杂渲染1.png
+ ```
+ public dynamic Ho()
+ {
+ return new {Name="你好,陈梦涵先生"};
+ }
+```
+
+3. 渲染集合数据到页面
+c:\Users\ASUS\Desktop\复杂集合渲染.png
+```
+public List He()
+ {
+ var list = new List
+ {
+ "挂科",
+ "大二",
+ "第一门",
+ "11"
+ };
+ return list;
+ }
+```
+
+4. 渲染(展示)简单数据类型到视图
+c:\Users\ASUS\Desktop\渲染简单视图2.png
+```
+ public string Hw()
+ {
+ return "我在看西北岁月电视剧";
+ }
+
+```
+
diff --git "a/\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\345\244\215\346\235\202\346\270\262\346\237\2231.png" "b/\344\276\257\345\207\244\351\230\263/img/\346\270\262\346\237\223\345\233\276\347\211\207/\345\244\215\346\235\202\346\270\262\346\237\2231.png"
new file mode 100644
index 0000000000000000000000000000000000000000..9b953039ee341536efea8f171b2039ff535ec120
GIT binary patch
literal 34682
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