【发布时间】:2019-02-19 14:31:58
【问题描述】:
我遇到了一段我看不懂的代码。我们正在使用 foreach 遍历 ViewData["Content"],但我看不到它是从哪里填充的。当我们在生产中遇到错误时出现问题,但是当我尝试在本地调试时它工作正常。我签入了应用程序并且 ViewData["Content"] 没有在任何地方设置 我有类似的东西
foreach (var contentType in (List<AppCode.ContentType>)ViewData["Content"]){ ....}
任何人都可以遮光吗?
我期待看到类似的东西
ViewData[“content”] ="blablaba" 或 ViewData[“Header”]="lalalal" 但我在应用程序的任何地方都看不到它。
【问题讨论】:
-
ViewData 用于在控制器和视图之间传递信息。它必须从返回视图的控制器上的
ActionMethod的某些执行路径中获取其值。如果没有您提供更多代码,就不可能再深入挖掘。 -
谢谢,但这就是我问这个问题的原因,基本上没有设置 ViewData["Content"] 的位置。像 ViewData["Content"] = "blablabla"。所以我想知道 ViewData[“content”] 或 ViewData[“Header”] 是 MVC 类型的属性
-
我不知道默认 MVC 实现中设置 ViewData 的任何内容。如果它被设置,它一定来自您代码中的某个地方,或者来自您正在使用的某个 3rd-party 库。无论哪种方式,我们都看不到您的代码,所以我们真的帮不上什么忙。
-
谢谢,没关系。出乎意料的是,向当前上下文添加某些内容是否会将其添加到视图数据中?
标签: c# asp.net .net asp.net-mvc