gpt4 book ai didi

c# - 为什么 MVC 会在看似没有 Null Reference 的情况下抛出 NullReferenceException?

转载 作者:行者123 更新时间:2023-11-30 15:18:35 24 4
gpt4 key购买 nike

我有一个 MVC View 在以下代码中抛出 NullReferenceException:

<div class="center-block text-center mb15">
Showing @count of @Model.TotalItemCount results
</div>

因此,我认为错误是 Model 为空。但是,代码已经通过在同一 View 中较早出现的以下代码完成:

@{
long count = Model.Count();
}

单步执行代码显示 count 是(在本例中)6,Model.TotalItemCount 也是 6,因此没有空引用。

但它仍然抛出异常!

这是奇怪的一点,这对我来说毫无意义,但却是问题的症结所在。抛出异常时,我在 Visual Studio 中得到以下信息:

enter image description here

这似乎表明正在调试的 View 与编辑器中显示的 View 不同,但是

  • 我删除了 binobj 文件夹并重建了应用程序,没有任何变化,并且
  • 此 View 已经几个月没有更改,并且可以与其他 Controller 操作一起使用(它是一个Shared View )。

在调试器中单步执行此行之前的 View ,每一行都正确突出显示(黄色条贯穿所有文本)。

最佳答案

答案是看起来更宽一点。虽然错误被标记为 Visual Studio 中所示,并且异常表明它是由指示的行号抛出的,但该异常实际上是由于大约 5 行之后的空引用(中间的行都是 HTML),其中访问了一个属性对于一个实际上为 null 的值。

不幸的是,经过这么长时间,Razor View 调试还没有达到应有的成熟度。感谢所有评论者的意见。

关于c# - 为什么 MVC 会在看似没有 Null Reference 的情况下抛出 NullReferenceException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com