2011-09-21 102 views
0

我在想数据可以在ViewData字典中保存多久。我知道数据不能在TempData中持续很长时间(不到一个小时)。那么在ViewData中可以持续多久?是否有另一个数据字典会长时间持续数据。我知道它开始听起来像我想要一个会话变量,这是非MVC,但是有没有其他的方式,我可以从一个控件的数据,而不是直接作为参数传递一个视图。ViewData中的数据持续时间tempData

回答

3

我想知道在ViewData字典

它的那一刻起持续你把它放在那里请求结束的那一刻,即呈现页面和发送到客户端的数据多长时间能坚持。

我知道数据不能坚持,长期在TempData的(不到一个小时)

TempData就像是会议,但仍然存在只有等到下一个请求。因此,它可以像秒,分钟,小时,天,...

我知道这是开始听起来像我想一个会话变量,这是非常不MVC

我不会不说非MVCish,我会说非RESTfulish

是否有其他的数据字典,将持续数据很长一段时间

是,会话,基础数据存储(如数据库或某事),饼干,应用范围,高速缓存。 ..这一切都取决于你的具体要求。

+0

因此,如果有人打开一个页面,并且在控制器上设置了ViewData,并且他们将该页面打开了一个小时左右,那么,他们无法计算该变量持续这段时间? – SoftwareSavant

+1

@DmainEvent,不,你不能指望这样的事情。您在控制器中设置ViewData,控制器返回视图,视图呈现,它会生成HTML,并且此呈现结束时ViewData会与所有内容一起消失。 –

+0

是否有某些事件或某些我可以检测到ViewData被清空的事件,以便我可以向用户发送警报,然后让他们导航到其他页面? – SoftwareSavant