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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/369917.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高考志愿填报,选热门专业还是选自己喜欢的专业

对于每一个结束高考的学生来说,都要面临选专业这个严峻的挑战。选专业可以说是妥妥的大工程,因为这关系到接下来的几年要学什么内容,关键是未来的几十年要从事什么样的工作。 所以在谈及选专业这个问题的时候,每个人的内心都有些…

力扣(3200)- 三角形的最大高度

好方法: 垃圾方法:

Python酷库之旅-第三方库Pandas(005)

目录 一、用法精讲 7、pandas.read_clipboard函数 7-1、语法 7-2、参数 7-3、功能 7-4、返回值 7-5、说明 7-6、用法 7-6-1、代码示例 7-6-2、结果输出 8、pandas.DataFrame.to_clipboard函数 8-1、语法 8-2、参数 8-3、功能 8-4、返回值 8-5、说明 8-6、用法…

UCOS-III 任务同步机制-信号量

1. 信号量类型 1.1 二值信号量(Binary Semaphores) 二值信号量只有两个状态:可用(1)和不可用(0)。它主要用于任务之间的互斥访问或者事件通知。例如,当一个任务完成某个操作后&am…

pip install包出现哈希错误解决

如图,当遇到此类错误时,多半是连接不稳定导致的校验失败。我们可以在PC端,或Ubuntu通过浏览器下载.whl安装文件:直接复制报错信息中的网址到浏览器即可弹出下载窗口。

kafka的架构

一、架构图 Broker:一台 kafka 服务器就是一个 broker。一个kakfa集群由多个 broker 组成。一个 broker 可以容纳多个 topic。 Producer:消息生产者,就是向 kafka broker 发消息的客户端 Consumer:消息消费者,向 kaf…

Win11右键默认显示更多选项的方法

问题描述 win11系统默认右键菜单显示选项太少,每次需要点一下“显示更多选项”才能得到想要内容。比方说我用notepad打开一个文档,在win11上要先点一下"显示更多选项“,再选择用notepad打开,操作非常反人类。 Win11右键默…

小红书矩阵系统源码:赋能内容创作与电商营销的创新工具

在内容驱动的电商时代,小红书凭借其独特的社区氛围和用户基础,成为品牌营销和个人创作者不可忽视的平台。小红书矩阵系统源码,作为支撑这一平台的核心技术,提供了一系列的功能和优势,助力用户在小红书生态中实现更高效…

高考假期预习指南

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

【CSAPP】-attacklab实验

目录 实验目的与要求 实验原理与内容 实验设备与软件环境 实验过程与结果(可贴图) 实验总结 实验目的与要求 1. 强化机器级表示、汇编语言、调试器和逆向工程等方面基础知识,并结合栈帧工作原理实现简单的栈溢出攻击,掌握其基…

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用。 在51单片机中,定时器1工作在模式0,它和定时器0一样,TL1占低5位,TH1占高8位,合计13位,也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…

django高校教务系统-计算机毕业设计源码81661

目 录 摘要 1 绪论 1.1 研究背景 1.2目的及意义 1.3论文结构与章节安排 2 高校教务系统设计分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4…

TCP和IP数据包结构

一、问题引入 一般我们在谈上网速度的时候,专业上用带宽来描述,其实无论说网速或者带宽都是不准确的,呵呵。比如:1兆,512K……有些在学校的学生,也许会有疑问,明明我的业务是1M,为…

前后端的导入、导出、模板下载等写法

导入,导出、模板下载等的前后端写法 文章目录 导入,导出、模板下载等的前后端写法一、导入实现1.1 后端的导入1.2 前端的导入 二、基础的模板下载2.1 后端的模板下载-若依基础版本2.2 前端的模板下载2.3 后端的模板下载 - 基于资源文件读取2.4 excel制作…

Tech Talk:智能电视eMMC存储的五问五答

智能电视作为搭载操作系统的综合影音载体,以稳步扩大的市场规模走入越来越多的家庭,成为人们生活娱乐的重要组成部分。存储部件是智能电视不可或缺的组成部分,用于保存操作系统、应用程序、多媒体文件和用户数据等信息。智能电视使用eMMC作为…

ListBox自动滚动并限制显示条数

1、实现功能 限制ListBox显示的最大条数; ListBox自动滚动,显示最新行; 2、C#代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using Syst…

印尼网络安全治理能力观察

在全国国际机场的移民服务完全瘫痪 100 多个小时后,印尼政府承认其新成立的国家数据中心 (PDN) 遭受了网络攻击。 恶意 Lockbit 3.0 勒索软件加密了存储在中心的重要数据,其背后的黑客组织要求支付 800 万美元的赎金。 不幸的是,大多数数据…

TreeMap、HashMap 和 LinkedHashMap 的区别

TreeMap、HashMap 和 LinkedHashMap 的区别 1、HashMap2、LinkedHashMap3、TreeMap4、总结 💖The Begin💖点点关注,收藏不迷路💖 在 Java 中,TreeMap、HashMap 和 LinkedHashMap 是三种常用的集合类,它们在…

01 Web基础与HTTP协议

1、域名和DNS 1.1 域名的概念 如果说一个主机,没有名字也可以完全用IP来代替,但是IP地址不好记忆。例如说,我们记一些网站的名称百度、新浪、搜狐等很好记,但是如果要去记百度的IP、新浪的IP、以及搜狐的IP地址,那将会…

LeetCode题练习与总结:排序链表--148

一、题目描述 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4]示例 2: 输入:head [-1,5,3,4,0] 输出:[-1,0,3,4,5]示例 3&am…