Asp.net core Controller传值到视图的几种方式
在 ASP.NET Core MVC 中从 Controller 向 View 传递数据并非依赖某种“自动绑定”而是通过IActionResult通常是ViewResult作为载体在单次请求生命周期内完成的显式传递。以下是四种核心机制的总结与对比 核心传递机制全景对比机制类型安全智能提示生命周期典型用途推荐度强类型 ViewModel✅ 是✅ 有当前请求页面所有业务数据⭐⭐⭐⭐⭐ViewData❌ 否❌ 无当前请求Layout元数据、少量辅助信息⭐⭐⭐ViewBag❌ 否❌ 无当前请求ViewData 的动态语法糖⭐⭐TempData❌ 否❌ 无当前 下一次请求重定向后的提示消息⭐⭐⭐⭐ 各机制详解1. 强类型 ViewModel首选通过return View(model)传递View 使用model T声明接收。这是 MVC 模式的正统做法。// ControllerreturnView(newProductDetailViewModel{Name手机,Price2999});!-- View --model ProductDetailViewModelh1Model.Name/h1!-- ✅ 编译时检查 智能提示 --优势编译期错误检查、IDE 重构支持、单元测试友好本质Model 被存入ViewData.Model属性model指令只是生成了强类型访问的包装代码2. ViewData弱类型字典ViewDataDictionarystring, object?手动键值对赋值。ViewData[PageTitle]产品详情;h1ViewData[PageTitle]/h1!-- ⚠️ 需手动转换拼写错误运行时才发现 --适用场景Layout 需要的标题/描述、面包屑、激活菜单标识等非业务元数据注意与 ViewBag 共享同一底层字典3. ViewBag动态包装器ViewBag是ViewData的dynamic语法糖本质完全相同。ViewBag.PageTitle产品详情;// 等价于 ViewData[PageTitle]劣势比 ViewData 多一层 dynamic 绑定开销无编译检查重构困难建议新项目优先用 ViewData 替代或直接上 ViewModel4. TempData跨请求传递基于 Session/Cookie 存储读取一次后自动标记删除Peek/Keep 可保留。// Action A: 保存后重定向TempData[SuccessMsg]保存成功;returnRedirectToAction(Index);// Action B (Index): 重定向目标页仍可读取if (TempData[SuccessMsg] is string msg) {divclassalertmsg/div}唯一用途PRG 模式中重定向后的反馈消息禁忌不要用来传业务数据或大量对象 底层统一原理无论用哪种方式数据传递都遵循同一条链路Controller.Action() │ ▼ 数据写入 ViewResult / TempDataProvider │ ▼ MVC 框架执行 ViewResult.ExecuteResultAsync() │ ▼ Razor Engine 渲染 .cshtml │ ▼ Model / ViewData / TempData 从执行上下文中读取关键认知所有传递都是单向、显式、基于请求上下文的。View 不会反向修改 Controller 中的数据表单提交是新的 POST 请求不是回写。 选型决策树需要传数据给 View │ ├── 是页面核心业务数据 → ✅ ViewModel │ ├── 是 Layout/Partial 用的元数据 → ✅ ViewData │ ├── 需要跨越重定向 → ✅ TempData │ └── 以上都不是 → 重新审视设计可能不该传⚠️ 常见反模式警示用 ViewData/ViewBag 传全部业务数据丧失类型安全维护噩梦在 TempData 中存复杂对象序列化开销大Session 膨胀ViewData 和 ViewModel 混传同一份数据冗余且易不一致在 View 中修改 ViewData 并期望影响后续逻辑View 应只读消费数据一句话总结ViewModel 传业务ViewData 传元数据TempData 传消息其余皆不应传。

相关新闻

otel-desktop-viewer:本地OpenTelemetry可观测性可视化工具

otel-desktop-viewer:本地OpenTelemetry可观测性可视化工具

otel-desktop-viewer:本地OpenTelemetry可观测性可视化工具 【免费下载链接】otel-desktop-viewer otel-desktop-viewer is a CLI tool for receiving OpenTelemetry traces while working on your local machine. 项目地址: https://gitcode.com/gh_mirrors/ot/o…

2026/7/30 9:49:10 阅读更多 →
家用电器塑胶制品加工

家用电器塑胶制品加工

匠心塑家电,精工铸品质——宁波登攀科技家用电器塑胶制品加工全解在宁波“中国模具之都”的产业沃土上,宁波登攀科技发展有限公司深耕家用电器塑胶制品加工领域,以模具研发注塑成型表面处理组装配套的一站式闭环能力,为家电、智能…

2026/7/30 9:49:39 阅读更多 →
犯错之后,还有机会重新建设。

犯错之后,还有机会重新建设。

人生真正的希望,不在于你永远不会犯错,而在于错误之后,你仍然拥有重新创造的能力。很多人面对错误时: 第一反应不是: “我从这里学到了什么?”而是: “我是不是毁了?” “我是不是失…

2026/7/29 22:39:23 阅读更多 →

最新新闻

多环境设计:从配置混乱到标准化部署的工程实践指南

多环境设计:从配置混乱到标准化部署的工程实践指南

1. 项目概述:从“多环境”的混乱到有序干了这么多年项目,从后端开发到前端部署,再到带团队做产品,我踩过最多的坑,往往不是代码逻辑有多复杂,而是环境配置有多混乱。你肯定也遇到过这种场景:开发…

2026/7/30 9:49:55 阅读更多 →
3分钟掌握ncmdump:网易云音乐NCM转MP3终极免费方案

3分钟掌握ncmdump:网易云音乐NCM转MP3终极免费方案

3分钟掌握ncmdump:网易云音乐NCM转MP3终极免费方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经下载了网易云音乐的歌曲,却发现只能在特定平台播放?ncmdump正是解决这一痛点的完美方…

2026/7/30 9:49:55 阅读更多 →
iFakeLocation:跨平台iOS虚拟定位终极指南,无需越狱修改iPhone位置

iFakeLocation:跨平台iOS虚拟定位终极指南,无需越狱修改iPhone位置

iFakeLocation:跨平台iOS虚拟定位终极指南,无需越狱修改iPhone位置 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 想在几秒钟内从…

2026/7/30 9:49:55 阅读更多 →
3分钟掌握视频硬字幕提取:本地OCR工具如何让字幕制作变得简单高效

3分钟掌握视频硬字幕提取:本地OCR工具如何让字幕制作变得简单高效

3分钟掌握视频硬字幕提取:本地OCR工具如何让字幕制作变得简单高效 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检…

2026/7/30 9:49:55 阅读更多 →
Nessus漏洞扫描器从零部署到实战:安装、配置与深度扫描策略指南

Nessus漏洞扫描器从零部署到实战:安装、配置与深度扫描策略指南

1. 项目概述:为什么我们需要一个专业的漏洞扫描器?在网络安全领域,无论你是负责企业内网安全运维的工程师,还是想提升个人技能的安全爱好者,有一个工具的名字你肯定绕不开——Nessus。它就像网络世界的“X光机”或“体…

2026/7/30 9:49:55 阅读更多 →
政府主导的医疗健康技术交易平台,如何确保成果评估的客观性和公平性?

政府主导的医疗健康技术交易平台,如何确保成果评估的客观性和公平性?

核心要点: 医疗健康技术交易平台在成果转化中面临评估标准缺失、主观性强等行业痛点,客观公平性成为关键挑战。依据国家标准《科技成果评估规范》(GB/T 44731-2024)构建多维度模型,是统一评估语言、保障公平的基础。数…

2026/7/30 9:48:55 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻