如果这是正确的做法,我不会这样做,但如有必要,请更正问题。
我需要通过我想要创建一次的整页生命周期来访问对象。我想过使用ViewData,但我访问上下文信息的所有扩展方法都使用了HttpContextBase,并认为我应该这样做。
我应该吗?
答案 0 :(得分:19)
如果您希望对象仅针对单个请求生效,则可以使用HttpContextBase.Items。
答案 1 :(得分:4)
使用@ViewContext.Controller.ViewData
访问当前控制器的ViewData
。假设你想从你当前所在的View中提取它。这将有助于查看用例。
ViewData
是WebViewPage
的一部分,而不是HttpContextBase
本身可以访问的内容。
在阅读对其他答案的评论后,您可以使用HttpContext.Current.Items
创建仅适用于当前请求的项目。
答案 2 :(得分:-3)
您可以使用会话来存储信息并使其可用。
HttpContext.Current.Session