什么是MVC编程模式?
首先MVC全名是Model(模型)-View(试图)-Controller(控制器),是一种软件设计典范。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面。各部分相互独立并且相互联系,可以让各自专注于自己的业务。
下图显示 3 个主要组件及其相互引用关系:
什么是ASP.NET Core MVC?
ASP.NET MVC 在服务器上呈现 UI,并使用模型-视图-控制器 (MVC) 结构模式。 MVC 模式将应用分成三组主要组件:模型、视图和控制器。 用户请求被路由到控制器。 控制器负责使用模型来执行用户操作或检索查询结果。 控制器选择要显示给用户的视图,并为其提供所需的任何模型数据。 对 Razor Pages 的支持是建立在 ASP.NET Core MVC 基础之上的。
Areas(区域)的作用?
区域提供将大型 ASP.NET Core MVC Web 应用分区为较小功能分组的方法。 区域是应用程序内的一个 MVC 结构。 在 MVC 项目中,模型、控制器和视图等逻辑组件保存在不同的文件夹中,MVC 使用命名约定来创建这些组件之间的关系。 对于大型应用,将应用分区为独立的高级功能区域可能更有利。 例如,具有多个业务单位(如结账、计费和搜索等)的电子商务应用。每个单元都有自己的逻辑组件视图、控制器和模型。
使用视图的好处?
视图可帮助在 MVC 应用内建立关注点分离,方法是分隔用户界面标记与应用的其他部分。 采用 SoC 设计可使应用模块化,从而提供以下几个好处:
●应用组织地更好,因此更易于维护。 视图一般按应用功能进行分组。 这使得在处理功能时更容易找到相关的视图。
●应用的若干部分是松散耦合的。 可以生成和更新独立于业务逻辑和数据访问组件的应用视图。 可以修改应用的视图,而不必更新应用的其他部分。
●因为视图是独立的单元,所以更容易测试应用的用户界面部分。
●由于应用组织得更好,因此你不太可能会意外重复用户界面的各个部分。
将数据传递给视图的几种方式?
●强类型数据:viewmodel
●弱类型数据
○ViewData(ViewDataAttribute)
○ViewBag
何时使用分部视图
_Layout.cshtml
1将大型标记文件分解为更小的组件。
2将重复的页面内容拆分为通用组件,减少页面代码的冗余。
ASP.NET Core状态管理有哪几种?
详细阅读:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/app-state?view=aspnetcore-6.0
HTTP 是无状态的协议。 默认情况下,HTTP 请求是不保留用户值的独立消息。 下面介绍了几种保留请求间用户数据的方法(状态管理方式)。
可以使用几种方法存储状态。 本主题稍后将对每个方法进行介绍。