![](/img/trans.png)
[英]Why does calling an Action, that is null, throw NullReferenceException?
[英]Why does MVC throw a NullReferenceException when there seems to be no Null Reference?
我有一個MVC視圖,在以下代碼中拋出NullReferenceException:
<div class="center-block text-center mb15">
Showing @count of @Model.TotalItemCount results
</div>
所以,我希望錯誤是Model
為null。 但是,代碼已經通過以下代碼顯示在同一視圖中:
@{
long count = Model.Count();
}
單步執行代碼顯示count
(在本例中)為6,而Model.TotalItemCount
也為6,因此沒有null引用。
但它仍然拋出異常!
這是奇怪的一點,這對我來說毫無意義,是問題的症結所在。 拋出異常時,我在Visual Studio中得到以下內容:
這似乎表明正在調試的視圖與編輯器中顯示的視圖不同 ,但是
bin
和obj
文件夾並重建了應用程序,沒有任何變化,並且 Shared
視圖)。 在調試器中單步執行此行之前的視圖,每行都會正確突出顯示(黃色欄到所有文本)。
答案是看起來更廣泛。 雖然錯誤標記為Visual Studio中顯示,並且異常表明它是由指示的行號引發的,但異常實際上是由於空行引用約5行(中間行都是HTML),其中訪問了屬性對於一個實際上為null的值。
不幸的是,Razor視圖調試還沒有達到它應該具有的成熟度。 感謝所有評論的人的意見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.