diff --git "a/\345\274\240\344\277\212\346\235\260/11.png" "b/\345\274\240\344\277\212\346\235\260/11.png" new file mode 100644 index 0000000000000000000000000000000000000000..53b1b3f373d7f5c48d1716b9248353253e6b42fd Binary files /dev/null and "b/\345\274\240\344\277\212\346\235\260/11.png" differ diff --git "a/\345\274\240\344\277\212\346\235\260/20241126\347\254\224\350\256\260.md" "b/\345\274\240\344\277\212\346\235\260/20241126\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..f0e7eea489388c2db90b232d4623132f351b02af --- /dev/null +++ "b/\345\274\240\344\277\212\346\235\260/20241126\347\254\224\350\256\260.md" @@ -0,0 +1,40 @@ +# 架构基础 +MVC(Model-View-Controller)是一种软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。 + +模型(Model):代表应用程序的数据和业务逻辑。它负责管理应用程序的状态、数据存储和检索,以及与数据库的交互。 + +视图(View):负责显示模型中的数据以及向用户呈现界面。它获取用户输入并将其传递给控制器。视图通常只关注展示和用户交互,而不处理业务逻辑。 + +控制器(Controller):充当模型和视图之间的中介。它接收来自用户的输入,更新模型的状态,并将更新的数据传递给视图进行显示。 控制器传参 + +在ASP.NET Core MVC中,控制器通过接收用户请求来处理数据,并将处理结果传递给视图进行展示。控制器和视图之间的数据传递可以通过多种方式实现,主要包括 + +# 视图模型 + +专为视图设计的数据结构,用于在控制器与视图之间传递数据。 + +封装与特定视图相关的数据和逻辑,确保视图代码更易于理解和维护。 + +示例:创建包含文章和评论列表的视图模型来展示文章详情页面 + +ViewData: ControllerBase的属性,类型为ViewDataDictionary,即字典结构。 + +用于在控制器向视图传递数据,以键值对形式存储。 + +数据生命周期在当前请求的视图渲染期间。 + +优点是简单直接,但作为弱类型字典,编译时无法进行类型检查,可能导致视图中使用数据时出现运行时错误。 ViewBag: + +ViewData的动态包装器,利用动态属性方式访问数据。 + +使代码在视图中更简洁,但同样存在运行时类型不匹配风险 + +ViewBag基于ViewData实现,通过动态属性访问方式对ViewData进行包装。 + +TempData: + +ControllerBase的属性,用于不同请求间(特别是重定向场景)传递数据。 + +以键值对形式存储,具有一次性读取特性,数据读取一次后标记为删除(下次请求读取为null)。 + +适用于在不同请求间传递需后续使用但不长期存储的数据。 \ No newline at end of file diff --git "a/\345\274\240\344\277\212\346\235\260/20241128\347\254\224\350\256\260-\344\270\223\344\270\232\347\273\203\344\271\240.md" "b/\345\274\240\344\277\212\346\235\260/20241128\347\254\224\350\256\260-\344\270\223\344\270\232\347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..8a80ffc12ff151147ff15334fedf5630c8a10658 --- /dev/null +++ "b/\345\274\240\344\277\212\346\235\260/20241128\347\254\224\350\256\260-\344\270\223\344\270\232\347\273\203\344\271\240.md" @@ -0,0 +1,21 @@ +# 渲染 +@model 命名空间.类名 @Model.键 + +# 作业1 +![](./11.png) + +# 作业2 +![](./22.png) + + + + + +# 作业3 +![](./33.png) + +# 作业4 +![](./44.png) + +# 作业5 +![](./55.png) \ No newline at end of file diff --git "a/\345\274\240\344\277\212\346\235\260/22.png" "b/\345\274\240\344\277\212\346\235\260/22.png" new file mode 100644 index 0000000000000000000000000000000000000000..be7624908e7027f8d4cc4d69cb06a72311d4ca45 Binary files /dev/null and "b/\345\274\240\344\277\212\346\235\260/22.png" differ diff --git "a/\345\274\240\344\277\212\346\235\260/33.png" "b/\345\274\240\344\277\212\346\235\260/33.png" new file mode 100644 index 0000000000000000000000000000000000000000..cc20c4c64e4b7fd1a04b1735d154df911b0cab59 Binary files /dev/null and "b/\345\274\240\344\277\212\346\235\260/33.png" differ diff --git "a/\345\274\240\344\277\212\346\235\260/44.png" "b/\345\274\240\344\277\212\346\235\260/44.png" new file mode 100644 index 0000000000000000000000000000000000000000..457097d95cc0da78d19ae4340859eceff1cf6b29 Binary files /dev/null and "b/\345\274\240\344\277\212\346\235\260/44.png" differ diff --git "a/\345\274\240\344\277\212\346\235\260/55.png" "b/\345\274\240\344\277\212\346\235\260/55.png" new file mode 100644 index 0000000000000000000000000000000000000000..4b47795c233a2d0df0c5428523a1da79c8e3e52e Binary files /dev/null and "b/\345\274\240\344\277\212\346\235\260/55.png" differ