1
resposta

Erro ASP .NET -> RuntimeBinderException: Cannot perform runtime binding on a null reference.

Oi pessoal, tudo bem?

Conseguem me ajudar com uma duvida? Estou fazendo o curso de ASP .NET seguindo as videoaulas mas mesmo com o código mais parecido possível com o do instrutor, estou gerando um erro que não consigo identificar.

Segue o código e o erro abaixo:

<div class="carousel-inner" role="listbox">
        <div class="item active">
            <div class="row">

                @{
                    var produtosDaPagina = Model.Take(4);

                }


                @foreach (var produto in produtosDaPagina)
                {
                    <div class="col-md-3 col-sm-3 col-lg-3">
                        <div class="panel panel-default">
                            <div class="panel-body">
                                <img class="img-produto-carrossel" src="/images/produtos/large_@(produto.Codigo).jpg" />
                            </div>
                            <div class="panel-footer produto-footer">
                                <div class="produto-nome">@produto.Nome</div>
                                <div><h4><strong>@produto.Preco</strong></h4></div>
                                <div class="text-center">
                                    <a href="/" class="btn btn-success">Adicionar</a>
                                </div>
                            </div>
                        </div>
                    </div>

                }


            </div>

Erro:

RuntimeBinderException: Cannot perform runtime binding on a null reference CallSite.Target(Closure , CallSite , object , int ) System.Dynamic.UpdateDelegates.UpdateAndExecute2<T0, T1, TRet>(CallSite site, T0 arg0, T1 arg1) AspNetCore.ViewsPedido_Carrossel_cshtml+d__0.MoveNext() in Carrossel.cshtml + var produtosDaPagina = Model.Take(4);

Poderiam me ajudar?

1 resposta

Oi, Bruno, tudo bem?

O problema deve estar nesta linha:

var produtosDaPagina = Model.Take(4);

Por favor, coloque um breakpoint nessa linha, e veja o valor de Model. Está nulo? Se estiver, é porque o controller não está injetando uma instância do modelo na página corretamente. Aí precisamos ver de onde estão vindo os dados. Se não for problema no controller, pode ser um problema no repositório.

Você pode investigar isso? Aí você posta aqui no fórum e podemos avaliar melhor a causa do erro.

De qualquer forma, seria bom você pode colocar um @if (Model != null) para prevenir contra erros na renderização da view .