.NET Core MVC基础之页面传值方式📃
.NET Core MVC基础之页面传值方式
前言
最近工作太忙了,浅浅更新一下.NET基础知识。大部分面试官都会问.NET页面传值的几种方式,那么接下来就来细讲与实现一下吧!
页面传值分成两类
- 第一类:控制器给视图传值
- 第二类:视图给控制器传值
本篇文章主要讲控制器给视图传值
控制器->视图
弱类型数据
ViewData
ViewData是一个字典对象,可以在控制器中存储键值对,然后在视图中读取这些值。
ViewData 是通过 string 键访问的 ViewDataDictionary 对象
控制器:
public ActionResult Index()
{
ViewData["Message"] = "Hello, World!";
return View();
}
视图:
<div class="text-center">
<h1 class="display-4">@ViewData["Message"]</h1>
</div>
效果图:

ViewBag
ViewBag是一个动态属性,可以在控制器中动态添加属性,并在视图中读取这些属性。
控制器:
public IActionResult Index()
{
ViewBag.Message = "你好,加班的码农!";
return View();
}
视图:
<div class="text-center">
<h1 class="display-4">@ViewBag.Message</h1>
</div>
效果图:

TempData
用于在请求之间临时存储数据的一种机制。它类似于Session,但与Session不同的是,TempData的数据只在当前请求和下一个请求之间有效,之后就会被自动清除。
TempData 使用场景:
- 在多个请求需要数据的情况下对重定向很有用。
- 使用 cookie 或会话状态通过
TempData提供程序进行实现。
控制器:
public ActionResult Index()
{
return View();
}
public ActionResult NextPage()
{
TempData["Message"] = "你有加班费吗,就加班?";
return RedirectToAction("Index");
}
Index视图:
<div class="text-center">
<h1 class="display-4">@TempData["Message"]</h1>
</div>
效果图:
直接访问Index视图

访问控制器中的NextPage方法进行重定向

强类型数据
Model
Model是将数据传递给视图的最常用方式。在控制器中创建一个模型对象,并将数据赋值给模型的属性。然后在视图中声明模型类型,并使用@Model来读取实体
控制器:
public class User
{
public string UserName { get; set; }
}
public IActionResult Index()
{
User u = new User();
u.UserName = "加班人";
return View(u);
}
视图:
@model User
<div class="text-center">
<h1 class="display-4">@Model.UserName</h1>
</div>
也可以传递集合
public IActionResult Index()
{
List<User> list = new List<User>()
{
new User() { UserName = "打工人1号" },
new User() { UserName = "打工人2号" }
};
return View(list);
}
@model List<User>
<div class="text-center">
@foreach (var m in Model)
{
<h1 class="display-4">@m.UserName</h1>
}
</div>
效果图:

参考链接
ASP.NET Core MVC 中的视图 | Microsoft Learn
.NET Core MVC基础之页面传值方式📃的更多相关文章
- MVC 向页面传值方式总结(2)
MVC 向页面传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通View页面传一个Mo ...
- MVC中页面传值方式总结
MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View(控制器传到视图) 1.View ...
- dotNET5的MVC页面传值方式总结
本文大致讲解mvc前后端的传值方式,包括control向view.view向control.以及action向action. 一.经典回顾 二.Controller向View传值 1. ViewBag ...
- iOS页面传值方式
普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...
- MVC 向页面传值方式总结(1)
ViewData传值. HomeController.cs Co de: public ActionResult Index() { ViewData["Title" ...
- 你想要的都在这里,ASP.NET Core MVC四种枚举绑定方式
前言 本节我们来讲讲在ASP.NET Core MVC又为我们提供了哪些方便,之前我们探讨过在ASP.NET MVC中下拉框绑定方式,这节我们来再来重点看看枚举绑定的方式,充分实现你所能想到的场景,满 ...
- ASP.NET Core MVC四种枚举绑定方式
前言 本节我们来讲讲在ASP.NET Core MVC又为我们提供了哪些方便,之前我们探讨过在ASP.NET MVC中下拉框绑定方式,这节我们来再来重点看看枚举绑定的方式,充分实现你所能想到的场景,满 ...
- 第十九节:Asp.Net Core WebApi基础总结和请求方式
一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...
- ASP.NET MVC Controller向View传值方式总结
Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...
- ios常见的页面传值方式
iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值 ...
随机推荐
- C/C++如何写调试宏
1. 调试宏以及测试 在写代码时,不可避免需要打印提示.警告.错误等信息,且要灵活控制打印信息的级别.另外,还有可能需要使用宏来控制代码段(主要是调试代码段)是否执行.为此,本文提供一种调试宏定义方案 ...
- 【爬虫+数据清洗+可视化分析】Python舆情分析哔哩哔哩"狂飙"的评论
目录 一.背景介绍 二.爬虫代码 2.1 展示爬取结果 2.2 爬虫代码讲解 三.可视化代码 3.1 读取数据 3.2 数据清洗 3.3 可视化 3.3.1 IP属地分析-柱形图 3.3.2 评论时间 ...
- ExpiringMap学习总结
一.ExpiringMap简介 ExpiringMap是一个轻量级的Java缓存方式 针对一些小体量的项目,存储的数据量也不是很大(如校验码)的情况下,使用Redis会增加系统的复杂性和维护难度.它的 ...
- Ubuntu空间不足,如何扩容
扩容多少看自己需求 点击确定然后打开虚拟机 使用工具的第一种方法 使用Ubuntu自带的disk,直接搜软件disk,点击进去 选择自己要扩容的磁盘 点击设置,选择resize 你要扩容到多少就拖动到 ...
- node.js环境在Window和Mac中配置,以及安装cnpm和配置Less环境
Node.js 和cnpm安装 最近准备学习vue.js,但首先需要配置电脑的环境.配置node.js. 1.在node(https://nodejs.org/en/)官网上下载安装node.js,两 ...
- Linux上执行内存中的脚本和程序
在Linux中可以不需要有脚本或者二进制程序的文件在文件系统上实际存在,只需要有对应的数据在内存中,就有办法执行这些脚本和程序. 原理其实很简单,Linux里有办法把某块内存映射成文件描述符,对于每一 ...
- C 语言编程 — 基本数据类型
目录 文章目录 目录 前文列表 数据类型 基本数据类型 整型 浮点型 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> 数据类型 数据类型,即数据对 ...
- pageoffice6提取word指定位置(数据区域)的值
在实际的开发过程中,经常会遇到提取Word文档中指定位置的数据保存到数据库中的需求,PageOffice客户端控件即支持在线保存Word文件,也支持Word文档中的指定位置的数据或所有的数据提交到服务 ...
- 【漏洞复现】用友NC-Cloud PMCloudDriveProjectStateServlet接口存在JNDI注入漏洞
阅读须知 花果山的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站.服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作.利用此 ...
- C# 使用 NPOI 导出excel 单击单元格背景变黑色的解决办法
需要手动指定单元格的背景色为一种颜色, 特别注意,我在使用 var color=new XSSFColor(new color...)创建的颜色,即使设置成其他颜色,查看样式属性中,发现color.i ...