ASP.NET MVC ViewBag/ViewData/TempData区别
ViewBag/ViewData
public dynamic ViewBag { get; }
public ViewDataDictionary ViewData { get; set; }
ViewBag和ViewData其实是互通的,区别是:ViewBag不再是字典的键值对接口,而是dynamic动态类型(C#4.0引入的新特性),会在程序运行的时候动态解析。ViewBag的本质就是ViewData,只不过多了层dynamic控制。
ViewBag和ViewData仅针对当前Action中有效,生命周期和View相同。
ViewData["isSuccess"]
ViewBag.Key = "Value";
TempData
TempData保存在Session中,controller每次执行请求时,会从Session中获取Tempdata(),而后清除session。
TempData可以跨Action传递,TempData的数据至多只能经过一次Controller传递, 并且每个元素至多只能被访问一次.
作者:樊勇
出处:http://www.cnblogs.com/fanyong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
我的联系方式:fanyong@gmail.com
个人独立博客:www.fy98.com