ASP.NET Web应用中的 Razor Pages/MVC/Web API/Blazor

        如果希望使用ASP.NET Core创建新的 Web 应用程序,应该选择哪种方法?Razor Pages还是 MVC(模型-视图-控制器),又或者使用Web API + Vue/React/......

        每种方法都有各自的优点和缺点。

什么是 MVC?

        大多数服务器端语言都采用广泛使用的模型-视图-控制设计。它由三个主要组件组成:控制器、模型和视图。控制器负责输入并与模型和视图交互。视图负责用户界面,模型代表业务逻辑和数据。虽然 MVC 模型适用于 API 开发,但 Razor Pages 专注于页面而不是 API。如果您打算使用 Angular 或 React 等前端框架,那么 MVC 将是一个合适的选择。

什么是 Razor Pages?

        Razor Pages 是允许轻松加载数据的网页,类似于 HTML 页面。它们与 ASP.NET MVC 的视图组件非常相似,具有相同的语法和功能。 Razor Pages 和 MVC 之间的主要区别在于,使用 Razor Pages,模型和控制器代码包含在页面本身中。这样就无需单独添加代码。Razor Pages 类似于MVVM 框架(模型-视图-视图-模型),提供双向数据绑定和具有隔离关注点的简化开发体验。 ASP.NET MVC在 Web 应用程序开发中越来越受欢迎,具有众多优势。事实上,ASP.NET Web Forms 是作为 MVC 中的 MVVM 解决方案设计的。 然而,新的 ASP.NET Core Razor Pages 代表了 ASP.NET Web Forms 的下一个发展阶段。

        MVVM 框架最出名的是数据模型的双向数据绑定。

        MVC 非常适合具有许多动态服务器视图、单页应用、REST API 和 AJAX 调用的应用。Razor Pages 非常适合只读或进行基本数据输入的简单页面。

什么是Web API?

        MVC 用于 Web 应用程序开发。MVC返回数据和数据视图,而 Web API 仅返回 HTTP 服务数据,即仅以数据形式返回。

        所以如果您了解前端“单页应用程序”框架(如 Vue、Angular、 React.js)并且想要使用该框架构建应用程序,那么您需要使用 ASP.NET Core Web API 构建 API。

Razor Pages 与 ASP.NET MVC

        Razor Pages 和 MVC 各有优势,适用于不同的目的。虽然 Razor Pages 在创建基本页面方面可能更简单、更高效,但 MVC 提供了更灵活、更可扩展的架构,更适合具有更复杂要求的大型项目。

        Razor Pages 还旨在根据文件的用途对其进行分组,并为每个提供增强功能的类提供紧密集成的代码。它们特别适合创建仅允许只读输入数据的基本页面。相比之下,MVC 有三个主要组件模型、视图和控制器。模型包括数据和相关逻辑;它表示在控制器组件之间传输的数据。视图使用从模型数据收集的数据来控制数据的呈现。

        Razor Pages 和 MVC 之间的选择取决于项目的特定需求以及开发团队的偏好和专业知识。

什么是 Blazor?

        Blazor 是基于 HTML、CSS 和 C# 的新式前端 Web 框架,可帮助更快地构建 Web 应用。 借助 Blazor,可以使用可从客户端和服务器运行的可重用组件构建 Web 应用,以便提供出色的 Web 体验。 Blazor 是 .NET 的一部分,它是用于构建任何内容的开发人员平台。 .NET 是免费的开放源代码,并且跨平台运行。

什么是 Blazor? - Training | Microsoft LearnBlazor 是基于 HTML 和 C# 的新式前端 Web 框架,可帮助更快地构建 Web 应用。icon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/training/modules/blazor-introduction/2-what-is-blazor

相关推荐

  1. RedisBitMap应用

    2024-07-10 19:48:03       8 阅读
  2. Docker在实际应用开发应用-AI生成

    2024-07-10 19:48:03       43 阅读
  3. GraphQL在现代Web应用应用与优势

    2024-07-10 19:48:03       16 阅读
  4. TS断言、转换应用

    2024-07-10 19:48:03       40 阅读
  5. Wireshark在云计算应用

    2024-07-10 19:48:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 19:48:03       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 19:48:03       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 19:48:03       4 阅读
  4. Python语言-面向对象

    2024-07-10 19:48:03       7 阅读

热门阅读

  1. CSS 样式链接的多方面应用与最佳实践

    2024-07-10 19:48:03       10 阅读
  2. 西门子7MB2335-0AL00-3AA1

    2024-07-10 19:48:03       6 阅读
  3. How to Describe Figures in a Research Article

    2024-07-10 19:48:03       7 阅读
  4. 常见网络攻击方式及防御方法

    2024-07-10 19:48:03       8 阅读
  5. Amazon Bedrock 常用权限分类详解

    2024-07-10 19:48:03       7 阅读
  6. Emacs有什么优点,用Emacs写程序真的比IDE更方便吗?

    2024-07-10 19:48:03       9 阅读