【发布时间】:2012-02-21 07:26:13
【问题描述】:
我的 ASP.NET MVC3 项目中有一些 C# 代码抛出异常声明:
Cannot perform runtime binding on a null reference
抛出异常的代码行是:
ViewBag.Foo[i].Name = allSpark[i].Users.Name;
这是代码块:
ViewBag.Foo = new myAllSparkModelType[allSpark.Length];
for (int i = 0; i < allSpark.Length; i++)
{
ViewBag.Foo[i].Name = allSpark[i].Users.Name;
...
}
当我设置断点并检查allSpark[i].Users.Name 时,它肯定有一个值(例如“Fred”)。
如果我注释掉这行代码,下一行(类似的代码)就会抛出同样的异常。
所以问题是allSpark[i].Users.Name 是一个空引用(我已经确认不是),或者我不能像我一样只使用ViewBag。如果是后者,我就很困惑,因为我认为 ViewBag 可以这样使用。
【问题讨论】:
-
您能否提供更多有关创建 allSpark 和 ViewBag 实例的代码?
-
Foo[i] 怎么样?也许它是空的
-
Foo[i] 必须为 null ,据我了解
-
Users 是一个集合还是一个变量?您可以发布您的 foreach 代码吗?
-
+1 for allspark。汽车人,推出