如何从HttpContext访问ViewData? (ASP.Net MVC)

时间:2011-10-13 21:33:46

标签: asp.net-mvc asp.net-mvc-3

如果这是正确的做法,我不会这样做,但如有必要,请更正问题。

我需要通过我想要创建一次的整页生命周期来访问对象。我想过使用ViewData,但我访问上下文信息的所有扩展方法都使用了HttpContextBase,并认为我应该这样做。

我应该吗?

3 个答案:

答案 0 :(得分:19)

如果您希望对象仅针对单个请求生效,则可以使用HttpContextBase.Items

答案 1 :(得分:4)

使用@ViewContext.Controller.ViewData访问当前控制器的ViewData。假设你想从你当前所在的View中提取它。这将有助于查看用例。

ViewDataWebViewPage的一部分,而不是HttpContextBase本身可以访问的内容。

在阅读对其他答案的评论后,您可以使用HttpContext.Current.Items创建仅适用于当前请求的项目。

答案 2 :(得分:-3)

您可以使用会话来存储信息并使其可用。

HttpContext.Current.Session