从控制器到视图的数据传递

Posted zjifafengfang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从控制器到视图的数据传递相关的知识,希望对你有一定的参考价值。

一、ViewData

1、ViewData是一种字典集合数据(即键值对类型),是“视图基类”和“控制器基类”的属性

2、常见用法是在控制器中写入数据,在视图中读取数据

3、ViewData的values可以存放任意数据类型的数据,因此使用时需要强制类型转换技术图片

技术图片

 

二、ViewBag动态对象

1、ViewBag是dynamic类型对象,同样也是“视图基类”和“控制器基类”的属性

2、ViewBag使用更加灵活方便(可以直接使用,编写的时候不会进行错误检查,但是运行的时候没有就会报错)

3、ViewBag其实是对ViewData数据的一个包装,使用ViewData包装的数据可以使用ViewBag进行读取,反之亦然。实际开发过程中建议使用ViewBag

技术图片

 

技术图片

三、跨请求数据传递TempData

1、TempData的一种字典对象,也能用于控制器到视图的数据传递

2、TempData可以实现跨请求的数据传递

技术图片技术图片

 

return RedirectToAction("action","controller")

3、TempData的保存机制和session但又不完全同于session

(1)、TempData中的数据一旦被使用就会被清除

(2)、TempData中的数据

以上是关于从控制器到视图的数据传递的主要内容,如果未能解决你的问题,请参考以下文章

将数据从视图控制器传递到另一个视图控制器

Codeigniter 数据没有从控制器传递到视图 [重复]

为啥数据不从视图传递到控制器

如何将 JSON 数据从登录视图传递到多个视图控制器,是不是可能?

如何将数据从表视图传递到另一个视图控制器

将数据从 viewcontroller tableview 传递到另一个视图控制器