Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 550123
            [titulo] => C sharp, MVC ASP.NET Referência de objeto não definida para uma instância de um objeto.
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-04-01 18:58:49
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => Não seria:

[code]@model IEnumerable<Aplicacao_Apresentacao.Areas.Admin.Models.Produtoes>[/code] ) )

C sharp, MVC ASP.NET Referência de objeto não definida para uma instância de um objeto.

José
   - 01 abr 2016

Galera é o seguinte, estou criando um projeto (universitário) em ASP.NET MVC.
Primeiro eu criei uma área de administração onde o administrador pode cadastrar produtos, fazer controle de caixa e funcionários. Porém Estou com um problema!
Agora estou querendo exibir na página inicial os produtos cadastrados na área do Administrador e estou tendo o seguinte erro:
Referência de objeto não definida para uma instância de um objeto.
Descrição: Ocorreu uma exceção sem tratamento durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
Erro de Origem:

Linha 28: </tr>
Linha 29:
Linha 30: @foreach (var item in Model)
Linha 31: {
Linha 32: <tr>

Ou seja ele deve pegar os produtos do controlador que está em administrador, o que eu preciso fazer ? Sei que é chato pedir isso mas se possível preciso com certa urgência:
View do Método sem administrador: Lembrando que essa view não tem controlador e está parecida com a do adm onde vou modificar aos poucos para se parecer mais com vista para o usuário.
#Código@model IEnumerable<Aplicacao_Apresentacao.Areas.Admin.Models.Produto>

@{
ViewBag.Title = "Produtos";
}
<h2>Index</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Nome)
</th>
<th>
@Html.DisplayNameFor(model => model.Valor)
</th>
<th>
@Html.DisplayNameFor(model => model.Quantidade)
</th>
<th>
@Html.DisplayNameFor(model => model.Promocao)
</th>
<th>
@Html.DisplayNameFor(model => model.Foto)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Nome)
</td>
<td>
@Html.DisplayFor(modelItem => item.Valor)
</td>
<td>
@Html.DisplayFor(modelItem => item.Quantidade)
</td>
<td>
@Html.DisplayFor(modelItem => item.Promocao)
</td>
<td>
<img src="@item.Foto" border="0" width="150" />
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>

Controlador do ADM de Produtos:
#Códigousing System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using Aplicacao_Apresentacao.Areas.Admin.Models;
using Aplicacao_Apresentacao.Models;
namespace Aplicacao_Apresentacao.Areas.Admin.Controllers
{
public class ProdutosController : Controller
{
private BancoASPNETContext db = new BancoASPNETContext();
// GET: Admin/Produtoes
public ActionResult Index()
{
return View(db.Produtoes.ToList());
}
// GET: Admin/Produtoes/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Produto produto = db.Produtoes.Find(id);
if (produto == null)
{
return HttpNotFound();
}
return View(produto);
}
// GET: Admin/Produtoes/Create
public ActionResult Create()
{
return View();
}
// POST: Admin/Produtoes/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Produto produto, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
db.Produtoes.Add(produto);
db.SaveChanges();
if (file != null)
{
String[] strName = file.FileName.Split('.');
String strExt = strName[strName.Count() - 1];
string pathSave = String.Format("{0}{1}.{2}", Server.MapPath("~/Imagens/"), produto.Id, strExt);
String pathBase = String.Format("/Imagens/{0}.{1}", produto.Id, strExt);
file.SaveAs(pathSave);
produto.Foto = pathBase;
db.SaveChanges();
}
return RedirectToAction("Index");
}
return View(produto);
}
// GET: Admin/Produtoes/Edit/5
public ActionResult Edit(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Produto produto = db.Produtoes.Find(id);
if (produto == null)
{
return HttpNotFound();
}
return View(produto);
}
// POST: Admin/Produtoes/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(Produto produto, HttpPostedFileBase file)
{
if (ModelState.IsValid)
{
db.Entry(produto).State = EntityState.Modified;
db.SaveChanges();
if (file != null)
{
if (produto.Foto != null)
{
if (System.IO.File.Exists(Server.MapPath("~/" + produto.Foto)))
{
System.IO.File.Delete(Server.MapPath("~/" + produto.Foto));
}
}
String[] strName = file.FileName.Split('.');
String strExt = strName[strName.Count() - 1];
string pathSave = String.Format("{0}{1}.{2}", Server.MapPath("~/Imagens/"), produto.Id, strExt);
String pathBase = String.Format("/Imagens/{0}.{1}", produto.Id, strExt);
file.SaveAs(pathSave);
produto.Foto = pathBase;
db.SaveChanges();
}
return RedirectToAction("Index");
}
return View(produto);
}
// GET: Admin/Produtoes/Delete/5
public ActionResult Delete(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Produto produto = db.Produtoes.Find(id);
if (produto == null)
{
return HttpNotFound();
}
return View(produto);
}
// POST: Admin/Produtoes/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Produto produto = db.Produtoes.Find(id);
db.Produtoes.Remove(produto);
db.SaveChanges();
return RedirectToAction("Index");
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
db.Dispose();
}
base.Dispose(disposing);
}
}
}

Post mais votado

Jothaz
   - 01 abr 2016

Não seria:

#Código@model IEnumerable<Aplicacao_Apresentacao.Areas.Admin.Models.Produtoes>

José
   - 01 abr 2016

Infelizmente não deu certo amigo...

José
   - 01 abr 2016

E nem com
#Código@model IEnumerable<Aplicacao_Apresentacao.Areas.Admin.Controllers.ProdutosController>