Asp.net mvc 对象上的NullReferenceException不为null

Asp.net mvc 对象上的NullReferenceException不为null,asp.net-mvc,entity-framework,razor,nullreferenceexception,Asp.net Mvc,Entity Framework,Razor,Nullreferenceexception,我将一个对象传递给一个视图,并得到一个空引用异常,但该对象不是空的 在操作中,我有以下简单代码: return View(db.Users.First()); 查看代码: @model User @using DG.WEB.Models @{ ViewBag.SecondTitle = "Ver"; ViewBag.MostraEditarTab = "false"; ViewBag.MostraApagarTab =

我将一个对象传递给一个视图,并得到一个空引用异常,但该对象不是空的

在操作中,我有以下简单代码:

return View(db.Users.First());
查看代码:

    @model User
    @using DG.WEB.Models

    @{
        ViewBag.SecondTitle = "Ver";
        ViewBag.MostraEditarTab = "false";
        ViewBag.MostraApagarTab = "false";
        ViewBag.Tab = "tab2";
        Layout = "~/Views/Conds/_Layout.cshtml";
    }


    <div class="container">
        @if (Model != null)
        {
            <h5>@Model.Nome</h5>

            <div id="container_atalhos">
                <div class="btn-group">
                  <a href="#" class="btn btn-mini"><i class="icon-th-large"></i>&nbsp;Nova frac</a>
                  <a href="#" class="btn btn-mini"><i class="icon-fire"></i>&nbsp;Nova Ocorrência</a>
                  <a href="#" class="btn btn-mini"><i class="icon-shopping-cart"></i>&nbsp;Novo Fornecedor</a>
                  <a href="#" class="btn btn-mini"><i class="icon-file"></i>&nbsp;Novo documento</a>
                  <a href="#" class="btn btn-mini"><i class="icon-pencil"></i>&nbsp;Editar</a>
                  <a href="#" class="btn btn-warning btn-mini"><i class="icon-remove-circle icon-white"></i>&nbsp;Apagar</a>
                </div>
            </div>
        }else{
           @:Not found
        }
</div>
@模型用户
@使用DG.WEB.Models
@{
ViewBag.SecondTitle=“Ver”;
ViewBag.MostraEditarTab=“false”;
ViewBag.MostraApagarTab=“false”;
ViewBag.Tab=“tab2”;
Layout=“~/Views/Conds/_Layout.cshtml”;
}
@如果(型号!=null)
{
@诺姆模型
}否则{
@:找不到
}
编辑: 我只是测试一个小代码,它打印视图中第一个用户的名字。 同样的错误也发生在我身上! 尝试/捕获显然效果不好。。。我不明白

看这幅画

EDIT2: 我发现了错误。在布局页面中有一个错误,由于某种原因visual studio没有检测到它


多亏了大家。

通常,这种错误与它们爆炸的地点没有直接关系,而是IoC/依赖注入的结果

基本上,在后台,依赖项注入能够根据需要提供各种对象,但这是一种懒惰的方式。因此,如果像你的布局页面这样的东西还不需要,它也不会被创建

因此,当您访问类似于您的模型的东西时,可能会有内部需求需要类似于您的布局的东西,然后依赖项注入开始,向您的模型抛出一个错误,即使该错误根本与模型无关

这是依赖注入的一个非常困难的方面,将来可能会再次困扰您:(


据我所知,也没有最佳实践可以避免这种情况。你逐步解决问题的方法是最好的办法。

你能粘贴视图的剩余部分吗?我在你所有的图像中添加了视图代码,上面写着“Nome”而不是“Name”(第二个字母是“o”而不是“a”)?正确吗?是的,如果查询结果为空集合,并且您只对其执行
.Nome
,则属性为葡萄牙语的“FirstOrDefault()”返回null。这是异常的潜在来源。因此,如果您没有数据,则基本上是执行null.Nome,这会引发NRE。