我有一些C#代碼,多數民衆贊成拋出一個異常,聲稱我的ASP.NET MVC3項目:爲什麼當變量有值時會報告「空引用」?
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實例的代碼嗎? – janhartmann 2012-02-21 07:28:27
Foo [i]怎麼樣?也許它是空的 – Beatles1692 2012-02-21 07:28:30
Foo [i]必須爲空,以我的理解 – kommradHomer 2012-02-21 07:29:23