Dar*_*ter 4 c# asp.net-mvc asp.net-mvc-4
我有一个 MVC 视图,它在以下代码中抛出 NullReferenceException:
<div class="center-block text-center mb15">
Showing @count of @Model.TotalItemCount results
</div>
Run Code Online (Sandbox Code Playgroud)
所以,我希望错误Model是空的。但是,该代码已经通过以下代码完成,该代码之前出现在同一视图中:
@{
long count = Model.Count();
}
Run Code Online (Sandbox Code Playgroud)
单步执行代码显示count(在本例中)为 6,并且Model.TotalItemCount也是 6,因此没有空引用。
但它仍然抛出异常!
这是奇怪的一点,这对我来说毫无意义,并且是问题的关键。当抛出异常时,我在 Visual Studio 中得到以下信息:
这似乎表明正在调试的视图与编辑器中显示的视图不同,但是
bin和obj文件夹并重建了应用程序,没有任何变化,并且Shared视图)。在调试器中逐行浏览此行之前的视图,每一行都被正确突出显示(黄色条穿过所有文本)。
答案是看起来更宽一些。虽然错误被标记为Visual Studio中所示,并且异常表明它是由指示的行号抛出的,但异常实际上是由于在大约5行之后(中间的行都是HTML)访问了一个属性的空引用对于实际上为 null 的值。
不幸的是,经过这么长时间,Razor 视图调试还没有达到它应有的成熟度。感谢所有评论者的投入。
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |