注意:这不是与此问题重复,因为它并没有完全回答问题。
我的问题是,当您将值分配给ViewData
或ViewBag
时,它究竟存储在哪里,就像TempData
存储在会话中一样。
两者都存储在Session
中吗?
如果不是,那么它们存储在哪里?
我的问题是,当您将值分配给ViewData
或ViewBag
时,它究竟存储在哪里,就像TempData
存储在会话中一样。
两者都存储在Session
中吗?
如果不是,那么它们存储在哪里?
ViewBag
的类型是 dynamic
,但实际上是一个内部的 System.Dynamic.ExpandoObject()
它的声明如下:dynamic ViewBag = new System.Dynamic.ExpandoObject();
ViewBag.Foo = "Bar";
继承层次结构:
System.Object
System.Dynamic.ExpandoObject
如果您想了解更多关于ExpandoObject的信息,请查看该链接。
请阅读CodeProject上关于值类型、引用类型、堆和栈的文章,这将有助于您理解ViewData和ViewBag的存储位置。
希望这能帮到你!