.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基础之页面传值方式📃的更多相关文章

  1. MVC 向页面传值方式总结(2)

    MVC 向页面传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通View页面传一个Mo ...

  2. MVC中页面传值方式总结

    MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View(控制器传到视图) 1.View ...

  3. dotNET5的MVC页面传值方式总结

    本文大致讲解mvc前后端的传值方式,包括control向view.view向control.以及action向action. 一.经典回顾 二.Controller向View传值 1. ViewBag ...

  4. iOS页面传值方式

    普遍传值方式如下: 1.委托delegate方式: 2.通知notification方式: 3.block方式: 4.UserDefault或者文件方式: 5.单例模式方式: 6.通过设置属性,实现页 ...

  5. MVC 向页面传值方式总结(1)

    ViewData传值. HomeController.cs Co de: public ActionResult Index() {       ViewData["Title"  ...

  6. 你想要的都在这里,ASP.NET Core MVC四种枚举绑定方式

    前言 本节我们来讲讲在ASP.NET Core MVC又为我们提供了哪些方便,之前我们探讨过在ASP.NET MVC中下拉框绑定方式,这节我们来再来重点看看枚举绑定的方式,充分实现你所能想到的场景,满 ...

  7. ASP.NET Core MVC四种枚举绑定方式

    前言 本节我们来讲讲在ASP.NET Core MVC又为我们提供了哪些方便,之前我们探讨过在ASP.NET MVC中下拉框绑定方式,这节我们来再来重点看看枚举绑定的方式,充分实现你所能想到的场景,满 ...

  8. 第十九节:Asp.Net Core WebApi基础总结和请求方式

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

  9. ASP.NET MVC Controller向View传值方式总结

    Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...

  10. ios常见的页面传值方式

    iOS页面间的传值细分有很多种,基本的传值方式有三种:委托Delegate传值.通知NSNotification传值.Block传值,其他在项目中可能会遇到的还有:UserDefault或文件方式传值 ...

随机推荐

  1. Python 潮流周刊#48:Python 3.14 的发布计划

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  2. vue+element设置选择日期最大范围(优秀版)

    element的选择日期组件里没有像移动端vant直接设置max-date的api,因此在不能动态设置选择的第二个时间(需要分别选择起止时间和结束时间,但可以加上关联), 看了很多博客有的效果直接出不 ...

  3. vue-cli快速搭建项目的几个文件(二)

    =======ggcss样式======== :root{     --bgColor : #d3252a;     --pinkColor : #ff4e81;     --textColor :  ...

  4. git checkout 命令图文详解

    目录 git checkout branchname (切换本地分支) 切换远程分支 放弃修改 git checkout . git checkout – filename git checkout ...

  5. 如何提高WordPress的加载速度

    针对wordpress加载速度慢的原因: 1. 由于Wordpress系统默认使用谷歌字体,在国内谷歌域名被屏蔽,所以导致操作反应慢.对于很多商业主题默认使用了谷歌字体.谷歌ajax库.谷歌地图等谷歌 ...

  6. vben集成keycloak

    前言 公司的项目是vben admin框架需要集成keycloak,那keycloak大家应该都不陌生了,就是统一认证的一个系统简称IDS.之前用过cas,并重构过cas的前端界面,所以对此也是比较熟 ...

  7. Windows远程连接工具有哪些

    Windows远程连接工具,一般称为远程桌面软件,更准确的叫远程访问软件或远程控制软件,可以让你从一台电脑远程控制另一台电脑.远程桌面软件允许您控制连接的计算机,就好像它就在您面前一样. 远程桌面工具 ...

  8. C语言:ACLLIB图形库——如何搭建环境(附三个文件代码)

    看一下我配置完的运行结果: 1)首先创建一个项目. 2)选择win项目和C语言 3)然后找到你保存项目的文件夹里面拷贝两个.c和.h文件,两个文件代码我附在最后. 4)现在还不能用,找到项目属性 5) ...

  9. 大数据Hadoop集群的扩容及缩容(动态添加删除节点)

    添加白名单和黑名单 白名单,表示在白名单的主机IP地址可以用来存储数据 企业中:配置白名单,可以尽量防止黑客恶意访问攻击. 配置白名单步骤如下:原文:sw-code 1)在NameNode节点的/op ...

  10. yapi 自动化安装遇到的问题

    yapi版本: 1.10.2 yapi server 启动之后 填写好配置,点击开始部署,发现控制台打印如下日志 (node:19879) Warning: Accessing non-existen ...