ASP.NET Core – MVC

news/2024/5/9 4:50:12/文章来源:https://www.cnblogs.com/keatkeat/p/16614763.html

前言

在 ASP.NET Core – MVC vs Razor Page 里有提到 MVC. 它算是 WebAPI 的抽象.

但是通常 MVC 指的是比较传统的 Website, WebAPI 则是前后端分离的方案. Razor Page 则是替代 MVC 做 Website 的.

虽然说替代, 但是也不是 100%, 有些场景用 MVC 会比较直观. 这篇就特别来讲一下.

 

Get Started

dotnet new mvc -o TestMvc

folder 结构

可以 1 Controller 多个 Action, 每一个 Action 对一个 View, 或者 1 Controller 1 Action 对 1 个 View (看想怎样管理)

Controller 找 View

 

找 View 是有 default path 逻辑的, 也可以自定义. 但这里我就不多介绍了. 因为我使用场景很少, 所以都是直接写 path.

return View("~/PathToView/Index.cshtml", viewModel);

职责

Razor Page 的入口是 View .cshtml 然后引入 Model.cs (这个 Model 又包含了 Init 方法, 所以它算是 Model + Controller 概念)

MVC 的入口是 Controller + Action (.cs) 然后通过 ViewModel passing 资料给 View.

Razor Page View = MVC View

Razor Page Model Init = MVC Controller Action

Razor Page Model = MVC ViewModel

 

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

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

相关文章

乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 官方扩展集锦(Microsoft.AspNetCore on Nuget)

什么是Microsoft.AspNetCorehttps://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/metapackage-appASP.NET Core共享框架(Microsoft.AspNetCore.App)包含由Microsoft开发和支持的程序集。当安装NET Core 3.0或更高版本SDK时,安装Microsoft.AspNetCore.App。共享框架是安…

Vue复习1.0

Vue复习1.0内容:Vue基础语法、计算属性、概念、指令 Vue复习2.0已发布,文章涉及完整代码已全部上传至GitHub:Vue复习2.0——组件化开发详解 @目录Vue复习1.0Vue的MVVMVue模板1. Vue列表显示2. 计数器3. Vue指令1. v-html2. v-once3. v-cloak4. v-bind5. v-on(缩写:@)6. v-i…

乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - .NET和Unity的未来(来自Unity官方告白)

我们最近发起了一次持续数年的改进行动,帮助用户更快地编写性能更高的代码,并带来长期的稳定性与兼容性。请在本文中了解我们在更新脚本基础技术栈方面所做的努力。 .NET生态正在多方面上积极动态地演变,而我们希望尽快将这些改进带给广大用户。我们内部的.NET技术小组正致力…

【pytest】工厂化的fixtures

前言:在一个测试用例中需要多次调用同一个fixture的时候,工厂化的 fixture 的模式对于一个 fixture 在单一的测试中需要被多次调用非常有用。 之前写fixture是直接return一个数据,在测试用例中可以直接使用,现在我们需要返回一个生成数据的函数,这样就能在用例中多次调用了…

【Coel.学习笔记】后缀自动机

接下来就是咕咕咕时间了~来了!NOI 算法中最抽象的字符串算法——后缀自动机! 当然咱只是一个普通的小 OIer,不会搞那么多杂七杂八的ww 引入 后缀自动机(\(\text{Suffix Automaton}\),简称 \(\text{SAM}\))是一种确定性有限状态自动机(\(\text{Determined Finite Automat…

Python 实现雪花算法

Python 实现雪花算法 雪花算法:雪花算法是一种分布式全局唯一ID,一般不需要过多的深入了解,一般个人项目用不到分布式之类的大型架构,另一方面,则是因为,就算用到市面上很多 ID 生成器帮我们完成了这项工作。 介绍:Twitter 于 2010 年开源了内部团队在用的一款全局唯一 …

Python小游戏——外星人入侵(保姆级教程)第一章 06让飞船移动

Python小游戏——外星人入侵(保姆级教程) 第一章:武装飞船 06:让飞船移动 下面来让玩家能够左右移动飞船。我们将编写代码,在用户按左或右箭头键时做出响应。我们将首先专注于向右移动,再使用同样的原理来控制向左移动。通过这样做,你将学会如何控制屏幕图像的移动。系列…

web安全 - xss攻击与防御

xss(Cross-Site Scripting), 跨站脚本攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。 利用恶意脚本攻击者可以获取用户的敏感信息,Cookie, SessionID等,进而危害数据安全。 1. xss 类型 1. 存储型xss: 恶意脚本来源于数据库 由于恶意代码存储在服务器…

[NOIP2001 提高组] 一元三次方程求解

题目链接:https://www.luogu.com.cn/problem/P1024 试题分析: 三个答案都在[-100,100]范围内,两个根的差的绝对值>=1,保证了每一个大小为1的区间里至多有1个解,也就是说当区间的两个端点的函数值异号时区间内一定有一个解,同号时一定没有解。那么我们可以枚举互相不重叠…

oracle时间对比报错:ORA-01861 文字与格式字符串不匹配

前段时间写一个简单的需求时碰到的,在使用传入的时间参数与oracle数据库里存的时间进行比较时报错,具体错误如下:在Oracle中,需要使用to_date 格式化时间,再进行对比SELECT * FROM XXXXXXX t WHERE t.DATE BETWEEN to_date(2021-07-08 00:00:00,yyyy-mm-dd hh24:mi:ss…

大家都能看得懂的源码 - 封装一个管理 url 状态的 hook

本文是深入浅出 ahooks 源码系列文章的第十一篇,该系列已整理成文档-地址。觉得还不错,给个 star 支持一下哈,Thanks。 本文来讲下 ahooks 中的 useUrlState。通过 url query 来管理 state 的 Hook。useUrlState 的特殊 在之前的架构篇中我们就提到,ahooks 这个项目是一个 …

Element Ui使用技巧——Form表单的校验规则rules详细说明;element的 form 表单rules详细用法

介绍 Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item的 prop 属性设置为需校验的字段名即可。校验规则参见 async-validator文档中提及的用法有2种: 官方form 表单文档 https://element.eleme.io/#/zh-CN/component/form 1.对整个…

ssh连接windows10拒绝连接-SSH入站-windows开启SSH

第一步:ssh使用的22端口,首先确认windows10的22端口是否开启。--开启步骤 1.控制面板-->Windws Defender 防火墙-->高级设置-->入站规则-->新建规则2.选择端口-->下一步3.选择TCP-->输入开放的端口-->下一步4.允许连接-->下一步5.勾选 域、专用、公用…

测试右移-后台服务监控告警实践

前言 前段时间,公司上线了“大屏”项目,用于对接展示一些业务平台的数据。但是在上线后使用过程中,产品或业务经常反馈前台页面没有数据。出现这种情况后,开发人员会去排查问题,解决后再通知产品或业务人员解决修复情况。虽然研发每次都能在较短的时间内响应并解决问题,但…

windows许可证即将过期?快来小编告诉你解决方法

https://baijiahao.baidu.com/s?id=1598094917004791962&wfr=spider&for=pc很多使用win10系统的用户都有遇到过电脑提示你的windows许可证即将过期的问题,遇到许可证即将过期要怎么办呢?小编这里给大家介绍一下这个问题的解决方法。Windows系统都需要激活后才能使用…

TypeScript 数组中查找最小、最大n个元素

TypeScript 数组中查找最小、最大n个元素var typeArr:number[]=[1,10,50,6,80,9,100];//最小元素private minArr(arr:number[]){let minArray:number[]=[];//3 就是返回多少个for (let i = 0; i < 3; i++) {let min = arr[0]; for (let j = 0; j < arr.length…

多列转两列(Power Query)

问题:多列转一列,如下图,左表转成右表let源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content],拆分列 = Table.ToColumns(源),列分组 = List.Split(拆分列, 2),列合并 = List.Transform(列分组, each Table.FromColumns(_)),升表头 = List.Transform(列合并, ea…

Android开发

1.知识点解析 1.1 dimen1.尺寸资源;2.在工程的res\layout\目录下创建一个test_dimen.xml布局文件。3.在该布局文件中添加一个TextView和一个Button。4.TextView的宽和高引用尺寸资源来设置,android:width="@dimen/text_width"5.dimen定义:<resources><di…

项目管理 WBS 分解法 All In One

项目管理 WBS 分解法 All In One Work Breakdown Structure 工作分解结构项目管理 WBS 分解法 All In OnePMPWork Breakdown Structure / 工作分解结构WBS工作分解结构跟因数分解是一个原理,就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一…

如何在电脑桌面上显示待办任务清单?

如果你每天的待办工作任务都是很多的,那么你应该如何保证自己能够把每条待办任务管理的井井有条,并且按时完成每项工作任务呢?相信这是很多职场人士都面临的一个难题,每天的工作时间都是固定的,但工作任务却是又多又繁杂,所以就需要大家通过管理待办任务来提高办公效率。…