环境:
Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0
一. Asp.Net Mvc中的TempData
在Asp.Net Mvc框架的ControllerBase中存在一个叫做TempData的Property,它的类型为 TempDataDictionary,顾名思义是一个字典类。TempData在Asp.Net Mvc中的作用是:可用于在Action执 行过程之间传值。简单的说,你可以在执行某个Action的时候,将数据存放在TempData中,那么在下一次 Action执行过程中可以使用TempData中的数据。
如:
上面的代码中,Index()给TempData添加了一个键值对,假设我们先请求Index这个Action,接着请求 Index2这个Action,那么在Index2中,我们便可以得到之前添加到TempData的键值对。有趣的是,这时如 果再次请求Index2,那么从TempData中读到的MyName的值会是null。于是,我们需要了解TempData的生命 周期。
二. TempData的生命周期
我们知道Http是无状态的,为什么TempData可以在两次请求之前传递数据呢?很明显,这个数据必定 是已某种形式保存了。查看Controller类的源代码,很容易的找到了我们想要的东西:
时间: 2024-11-02 22:14:54