我正在为我的新项目使用.net MVC4.0。我想知道ViewData、ViewBag和TempData有什么不同?
我试着在网上搜索,但没有找到任何很好的文档材料。
发布于 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可用于维护重定向之间的数据,即从一个控制器到另一个控制器。
https://stackoverflow.com/questions/28299365
复制相似问题