You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core中Razor页面用ViewModel的@Model属于MVC还是MVVM模式?

ASP.NET Core Razor 视图中的 @Model 对应的架构模式说明

首先直接给结论:默认使用的是**MVC(模型-视图-控制器)**架构模式,不属于MVVM。


核心逻辑解释

  • @Model的本质是MVC架构中Model层的「视图模型」实体,是服务端渲染视图前由后端逻辑(传统MVC的Controller、Razor Pages的PageModel)主动注入的强类型数据载体,作用是把业务层处理后的、符合视图渲染要求的数据传递给视图,避免直接暴露原始业务域模型给前端。
  • 和MVVM的核心差异:
    • MVVM的核心特性是ViewModel和View之间的双向数据绑定、ViewModel内置状态变更通知、支持视图直接绑定ViewModel的命令方法,两者完全解耦,不需要服务端参与就可以完成状态同步。
    • ASP.NET Core的Razor是服务端渲染技术,@Model是渲染时一次性注入的只读数据,视图本身没有内置的自动同步@Model变更回后端的机制,所有用户操作的提交都需要主动通过表单提交、AJAX请求等方式和后端交互,完全符合MVC的请求流转逻辑:后端处理请求→组装Model→传给视图完成渲染。
  • 针对Razor Pages的补充说明:Razor Pages是ASP.NET Core推出的页面优先编程模型,将传统MVC的Controller逻辑和视图模型合并到了PageModel类中,cshtml视图中调用的@Model就是对应PageModel的实例,这只是MVC架构的轻量化变种,没有引入MVVM的核心特性,所以仍然属于MVC体系。

内容的提问来源于stack exchange,提问作者Noraddeen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:54:02