我有一个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
文件夹并重新构建了应用程序,但未发现任何变化,并且 - 该视图几个月内未更改,并且与其他控制器操作一起使用(是一个共享视图)。
在此行之前通过调试查看视图时,每一行都被正确地突出显示(所有文本都有黄色条)。
TotalItemCount
是自动属性吗?还是它有一个实现?Count
的实现是什么?我猜它只是IEnumerable.Count()
,但我想确认一下。 - user47589Model
是 Troy Goode 的IPagedList<T>
的一个实例,它实现了一个Count
属性,并继承自IEnumerable<T>
。 - Darren Oster