2.ViewBag、ViewData、TempData之间的区别
2024-08-27 04:23:30
1.ViewBag and ViewData(非跨视图访问)
1)ViewBag是一种dynamic动态类型,用户可以自定义属性并为其赋值,它会在运行时动态解析(例:可以作为变量、数组等各种对象传递并按照对象的特性在页面直接使用)
<ul>
@foreach (dynamic/string/var p in ViewBag.Items)
{
<li>The item is: @p</li>
}
</ul>
2)ViewData是一种object的字典类型,通过键值对的方式存储,如ViewData["code"] = code;不是动态对象(例:不能直接作为数组来解析,需要一个强制转换)
@foreach (string a in (string[])ViewData["Items"])
{
<li>The item is: @a</li>
}
2.TempData(可跨视图传递,只能使用一次后就会消失)
TempData也是一个键值对的类型,与其他两者的区别在于可以跨视图调用,但是由于其将值托付给Session,会在调用一次后将相应键值对的Session清空,从而不能进行第二次调用。
生命周期会跟Session一样,所以一直没有读取的TempData是会存在到Session消失的。
最新文章
- Qt——浅谈样式表
- Linux文件查找
- Java学习-040-级联删除目录中的文件、目录
- CallableAndFuture
- POJ3461 Oulipo KMP算法
- 计数方法(扫描线):JLOI 2016 圆的异或并
- Foreman 企业级配置管理解决方案
- Embedded software develop step
- Linux系统下安装Mysql5.7.18教程收集分享
- HDOJ2003-求绝对值
- threejs 组成的3d管道,寻最短路径问题
- test for python thread
- New UWP Community Toolkit - ImageEx
- asp.net core系列 52 Identity 其它关注点
- dede后台编辑器更改
- mysql使用索引的注意事项
- 【原创】大数据基础之Alluxio(1)简介、安装、使用
- 前言|Elena
- Linux 调试打印时间和颜色
- vue-cli keep-alive用法以及activated,deactivated