我有一個在下面的代碼拋出一個NullReferenceException的MVC觀點:爲什麼MVC在似乎沒有空引用時拋出一個NullReferenceException?
<div class="center-block text-center mb15">
Showing @count of @Model.TotalItemCount results
</div>
所以,我希望的是,錯誤是Model
爲空。但是,代碼已經通過較早出現在同一視圖以下代碼使它:
@{
long count = Model.Count();
}
通過代碼步進表明count
是(在這種情況下)6,和Model.TotalItemCount
也是6,所以有不是空引用。
但它仍然拋出異常!
這是一個奇怪的位,這對我來說毫無意義,也是問題的關鍵。當發生異常時,我得到Visual Studio中的以下內容:
這似乎表明正在調試的觀點是不同的視圖顯示在編輯器中,但
- 我刪除了
bin
和obj
文件夾和重建應用程序,沒有變化, - 這一觀點並未改變了幾個月的,並與其他工作續滾筒行動(這是一個
Shared
視圖)。
在調試器中的這一行之前逐行瀏覽視圖,每一行都正確突出顯示(通過所有文本的黃色條)。
是否做顯示@@ Model.TotalItemCount的Model.Count()結果也拋出這個錯誤嗎? – Dylan
'TotalItemCount'是一個自動屬性嗎?還是它有一個實現? 「Count」的實現是什麼?我認爲它只是'IEnumerable.Count()',但我想確認。 – Amy
還有一件事,我在過去已經注意到,調試器有時會錯誤地標識引發實際錯誤的Razor文件中的行。你可以與我們分享整個視圖,剔除不相關的HTML嗎? – Amy