From 1938f6fec51ace4b4041e0eedf0712e191bfbc55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E5=AE=87=E8=88=AA?= <14093708+fang-----yuhang@user.noreply.gitee.com> Date: Sun, 1 Dec 2024 21:19:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...10\344\274\240\345\217\202\357\274\211.md" | 47 ++++++ ...or\346\240\207\350\256\260\357\274\211.md" | 134 +++++++++++++++++- 2 files changed, 180 insertions(+), 1 deletion(-) diff --git "a/\346\226\271\345\256\207\350\210\252/20241122\347\254\224\350\256\260\357\274\210\344\274\240\345\217\202\357\274\211.md" "b/\346\226\271\345\256\207\350\210\252/20241122\347\254\224\350\256\260\357\274\210\344\274\240\345\217\202\357\274\211.md" index 345f739..0856e05 100644 --- "a/\346\226\271\345\256\207\350\210\252/20241122\347\254\224\350\256\260\357\274\210\344\274\240\345\217\202\357\274\211.md" +++ "b/\346\226\271\345\256\207\350\210\252/20241122\347\254\224\350\256\260\357\274\210\344\274\240\345\217\202\357\274\211.md" @@ -23,3 +23,50 @@ 参数结构复杂:传递的参数可能包含多个属性、嵌套对象或数组。 需要序列化/反序列化:在客户端和服务器之间传递复杂参数时,通常需要进行序列化(将对象转换为字符串或字节流)和反序列化(将字符串或字节流转换回对象)操作。 适用于复杂场景:如创建或更新具有多个属性的实体对象、上传文件等。 + +``` +简单传参 +public IActionResult Edit(int id){ + return Content(id.ToString()); +} +``` + +``` +复杂传参 +1. +[HttpPost] +public IActionResult Create([FromBody]Students students){ + return Content(JsonSerializer.Serialize(students)); +} +``` +- 该方式需创建视图中创建一个与控制器相对应对视图文件(书写样式时可用),但还是在Postman软件中查看(前提要运行该程序F5)。 + +``` +2. +public IActionResult Create([FromBody]Students students){ + return View(students); +} +``` +- + ``` + 需创建一个类,这个类里有属性: + + public class Students{ + public string Name{get;set;}=null!; + public string Age{get;set;}=null!; + public string Weight{get;set;}=null!; + public string Height{get;set;}=null!; + } + ``` + +3. +在控制器中构造对象并传递给视图 +public IActionResult Index(){ + var students=new Students{ + Name="风格和", + Age="667", + Weight="56", + Height="8" + }; + return View(students); +} diff --git "a/\346\226\271\345\256\207\350\210\252/20241127\347\254\224\350\256\260\357\274\210Razor\346\240\207\350\256\260\357\274\211.md" "b/\346\226\271\345\256\207\350\210\252/20241127\347\254\224\350\256\260\357\274\210Razor\346\240\207\350\256\260\357\274\211.md" index 9955e9d..78f61b5 100644 --- "a/\346\226\271\345\256\207\350\210\252/20241127\347\254\224\350\256\260\357\274\210Razor\346\240\207\350\256\260\357\274\211.md" +++ "b/\346\226\271\345\256\207\350\210\252/20241127\347\254\224\350\256\260\357\274\210Razor\346\240\207\350\256\260\357\274\211.md" @@ -1,4 +1,5 @@ ### Razor的基本概念 +Razor 支持 C#,并使用` @ `符号从 HTML 转换为 C#。 Razor 计算 C# 表达式,并将它们呈现在 HTML 输出中。 定义: Razor是一种标记语法,允许开发者在HTML中嵌入C#代码。它通过使用@符号来转换HTML和C#代码 文件扩展名: 通常,Razor视图文件使用.cshtml扩展名,这意味着这些文件包含HTML和C#代 @@ -33,4 +34,135 @@ Razor支持C#的控制结构,如@if、@for、@foreach等,这些结构允许 灵活性: 通过支持C#代码,Razor提供了强大的功能来处理复杂的业务逻辑和数据处理。 -集成性: 与ASP.NET Core MVC无缝集成,提供了高效的视图渲染能力。 \ No newline at end of file +集成性: 与ASP.NET Core MVC无缝集成,提供了高效的视图渲染能力。 + + +# 作业 + +``` +渲染(展示)简单数据类型到视图 +public string Index() +{ + return "规划大纲给成分股"; +} +``` + +``` +渲染(展示)对象数据到视图 +public IActionResult Index_2() +{ + var list = new BlogCreateDto + { + Title="回顾归功于" + Author="菊花", + Content="胡椒粉v规划局成功" + }; + + return View(list); +} +``` + +渲染(展示)集合数据到视图 +public IActionResult Index_3() +{ + var list = new List + { + new BlogCreateDto + { + Title="韩国尽快", + Author="好几个", + Content="环境更加", + }, + new BlogCreateDto + { + Title="鱼头豆腐", + Author="就河口湖", + Content="和奖励红包奖励", + }, + new BlogCreateDto + { + Title="即可不过很快", + Author="更好的", + Content="就好了很久", + }, + }; + return View(list); +} +``` +```cshtml + + + + + + + + @foreach(var item in @Model) + { + + + + + + + } +
标题作者内容操作
@item.Title@item.Author@item.Content + + +
+``` +``` +渲染(展示)包含集合数据的对象数据到视图 +public IActionResult Index_4() +{ + var blog = new Blog + { + Title = "房管局", + Author = "计划管控归还借款", + Content = "挂号费通过", + BlogCreateDto = new List + { + new BlogCreateDto + { + Title="环境和客户尽快", + Author = "后即可", + Content = "就河口湖就" + }, + new BlogCreateDto + { + Title="立刻解开了和", + Author = "户籍科", + Content = "他依然太贵" + }, + } + }; + return View(blog); +} +``` +```cshtml +

@Model.Title

+

@Model.Author

+

@Model.Content

+ +

BlogCreateDto:

+ + + + + + + + @foreach(var item in @Model.BlogCreateDto) + { + + + + + + + } +
标题作者内容操作
@item.Title@item.Author@item.Content + + +
+``` \ No newline at end of file -- Gitee