Hi I'm getting a scary problem The controller is invoked normally, the foreach loop works fine, call the view with a List return and the @foreach start the loop and load the registers brought from the DB, but in the last interaction it brokes.
I tried to do with viewdata, viewbag, IEnumerable, List, IList every possibilities but nothing. Is somebody have any spirit and glourious solution? Thanks a lot. The variable names it´s in portuguese, but I keeped the main names like dbcontext in ingles or the standar initials.
Server Error in Application '/'. Object reference not set to an instance of an object.enter image description here Exception Details: System.NullReferenceException: Object reference not defined for an instance of an object.
----> Controller
List<Carrinho_Compras> lstCarrinho = new List<Carrinho_Compras>();
                string idUsuario = Session["ID_Usuario"].ToString();
                var itensCarrinho = db.CarrinhoCompras.Where(x => x.ID_Usuario == idUsuario).ToList();
                if (idUsuario == null)
                {
                    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                }
                if (itensCarrinho == null)
                {
                    return HttpNotFound();
                }
                if (itensCarrinho != null)
                {
                    ViewData["Qtd_Itens"] = itensCarrinho.Count;
                    decimal precoProduto = 0;
                    decimal total = 0;
                    foreach (var item in itensCarrinho)
                    {
                        Carrinho_Compras entCarrinho = new Carrinho_Compras();
                        entCarrinho.ID_Carrinho_Compras = item.ID_Carrinho_Compras;
                        entCarrinho.ID_Cadastro_Prod_Loja = item.ID_Cadastro_Prod_Loja;
                        entCarrinho.ID_Usuario = idUsuario;
                        entCarrinho.Nome_Produto = item.Nome_Produto;
                        entCarrinho.Modelo_Produto = item.Modelo_Produto;
                        entCarrinho.Preco_Produto = item.Preco_Produto;
                        entCarrinho.Quantidade_Produto = item.Quantidade_Produto;
                        entCarrinho.Descricao_Produto = item.Descricao_Produto;
                        entCarrinho.Caminho_Arquivo = item.Caminho_Arquivo;
                        precoProduto = item.Preco_Produto;
                        total = total + precoProduto;
                        entCarrinho.Total = total;
                        lstCarrinho.Add(entCarrinho);
                    }
                    ViewData["Total"] = total;
                    ViewData["CarrinhoCompras"] = lstCarrinho;
                    this.page.Session.Add("Total", total);
                    return View(lstCarrinho);
---> View
@model List<VitrineVirtual.Model.Carrinho_Compras>
<table class="table shoping-cart-table">
                        <tbody>
                            @{
                                var lstCarrinho = ViewData["CarrinhoCompras"] as List<VitrineVirtual.Model.Carrinho_Compras>;
                                var last = Model.Last();
                                foreach (var item in Model.Where(item => item != null))
                                {
                                    if (item.Equals(last))
                                    {
                                        break;
                                    }
                                    else
                                    {
                                        <tr>
                                            <td width="120">
                                                <div class="cart-product-imitation">
                                                    <a href="#" title="Foto">
                                                        <img style="position:initial" width="90" height="90" src="@Url.Content(item.Caminho_Arquivo)" />
                                                    </a>
                                                </div>
                                            </td>
                                            <td class="desc">
                                                <h3>
                                                    <a href="#" class="text-navy">
                                                        @*<input type="text" id="nomeProduto" name="preco" class="form-control" value="@item.Nome_Produto">*@
                                                        @Html.DisplayFor(modelItem => item.Nome_Produto)
                                                    </a>
                                                </h3>
                                                <h4>
                                                    <a href="#" class="text-navy">
                                                        @*<input type="text" id="modeloProduto" name="preco" class="form-control" value="@item.Modelo_Produto">*@
                                                        @Html.DisplayFor(modelItem => item.Modelo_Produto)
                                                    </a>
                                                </h4>
                                                <p class="small">
                                                    @*<input type="text" id="descricaoProduto" name="preco" class="form-control" value="@item.Descricao_Produto">*@
                                                    @Html.DisplayFor(modelItem => item.Descricao_Produto)
                                                </p>
                                                <h3 class="small">
                                                    @*<input type="text" id="precoProduto" class="form-control" value="@item.Preco_Produto">*@
                                                    @Html.DisplayFor(modelItem => item.Preco_Produto))
                                                </h3>
                                            </td>
                                            <td>
                                                <div class="row">
                                                    <div class="col-sm-3 pull-left">
                                                        <input type="text" id="txtAtualizaPreco" name="preco" class="form-control">
                                                        <input type="hidden" name="preco" id="hdnAtualizaPreco" value="@item.Preco_Produto" />
                                                        @*@Html.TextBoxQtd(Request.Form["QtdProduto"], new { value = item.Preco_Produto }, new { @id = "QtdProduto", @class = "form-control", @type = "number", @text = "1" })*@
                                                    </div>
                                                    <div class="col-sm-4">
                                                        <input type="button" id="btnAtualizaPreco" value="Calcular" class="form-control text-white" style="background-color: #3872a2">
                                                        @*@Html.ActionLink("Atualiza Valor", "AtualizaPreco", "CarrinhoCompras", new { quantidade = Request.Form["QtdProduto"] }, new { @class = "btn btn-info" })*@
                                                    </div>
                                                </div>
                                            </td>
                                            <td width="40">
                                                <div class="m-t-sm">
                                                    <button id="btnExcuiItemcarrinho" class="btn-danger btn btn-xs apaga" value="Excuir"><i class="fa fa-trash"></i></button>
                                                    <input type="hidden" name="itemCarrinho" id="hdnExcluiItemCarrinho" value="@item.ID_Carrinho_Compras" />
                                                </div>
                                            </td>
                                        </tr>
                                    }
                                }
                            }
                        </tbody>
                    </table>
