【发布时间】:2011-09-21 21:38:33
【问题描述】:
我想知道 Data 可以在 ViewData 字典中保留多长时间。我知道数据不能在 TempData 中保留那么长时间(不到一个小时)。那么在 ViewData 中能持续多久呢?是否有另一个数据字典可以将数据保存很长时间。我知道它开始听起来像是我想要一个会话变量,这非常不符合 MVC,但是有没有其他方法可以让我从控件获取数据到视图,而无需直接将其作为参数传递。
【问题讨论】:
我想知道 Data 可以在 ViewData 字典中保留多长时间。我知道数据不能在 TempData 中保留那么长时间(不到一个小时)。那么在 ViewData 中能持续多久呢?是否有另一个数据字典可以将数据保存很长时间。我知道它开始听起来像是我想要一个会话变量,这非常不符合 MVC,但是有没有其他方法可以让我从控件获取数据到视图,而无需直接将其作为参数传递。
【问题讨论】:
我想知道数据可以在 ViewData 字典中保留多长时间
它从你把它放在那里的那一刻一直持续到请求结束的那一刻,即页面被渲染并发送给客户端。
我知道数据不能在 TempData 中保留那么长时间(不到一个小时)
TempData 类似于 Session 但只持续到下一个请求。所以它可能是几秒钟、几分钟、几小时、几天……
我知道它开始听起来像是我想要一个会话变量,这是非常不符合 MVC 的
我不会说 un-MVCish,我会说 un-RESTfulish。
是否有另一个数据字典可以将数据持久化很长时间
是的,会话、您的底层数据存储(如数据库或其他东西)、cookie、应用程序范围、缓存……这一切都取决于您的具体要求。
【讨论】: