首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ViewData、ViewBag和TempData有什么区别?

ViewData、ViewBag和TempData有什么区别?
EN

Stack Overflow用户
提问于 2015-02-03 20:49:17
回答 1查看 9.7K关注 0票数 6

我正在为我的新项目使用.net MVC4.0。我想知道ViewData、ViewBag和TempData有什么不同?

我试着在网上搜索,但没有找到任何很好的文档材料。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-03 20:50:16

来自Top 10 ASP.NET MVC Interview Questions

为了将数据从控制器传递到视图,并在下一个后续请求中,ASP.NET MVC框架提供了不同的选项,即ViewData、ViewBag和TempData。

控制器和相应的视图之间使用ViewBag和ViewData进行通信。但此通信仅用于服务器调用,如果发生重定向,则通信将变为null。因此,简而言之,它是一种在控制器和相应视图之间维护状态的机制。

ViewData是一个字典对象,而ViewBag是一个动态属性( C# 4.0的新特性)。ViewData是一个字典对象,可以使用字符串作为键来访问,并且还需要对复杂类型进行类型转换。另一方面,ViewBag没有类型转换和null检查。

TempData也是一个字典对象,它在HTTP请求的时间内一直存在。因此,Tempdata可用于维护重定向之间的数据,即从一个控制器到另一个控制器。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28299365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档