Por alguma razão o meu código está apresentando este erro na view Produto/Index.cshtml já revisei a Controller, a View e todo código, está idêntico ao da aula.
View
@model IList<CaelumEstoque.Models.Produto>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<table>
<thead>
<tr>
<th>
ID
</th>
<th>
Produto
</th>
<th>
Quantidade
</th>
</tr>
</thead>
<tbody>
@foreach(var produto in Model)
{
<tr>
<td>
@produto.Id
</td>
<td>
@Html.ActionLink(produto.Nome, "Visualizar", "Produto", new { id = produto.Id })
</td>
<td>
@produto.Quantidade
</td>
</tr>
}
</tbody>
</table>
</div>
</body>
</html>
Controller
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CaelumEstoque.DAO;
using CaelumEstoque.Models;
namespace CaelumEstoque.Controllers
{
public class ProdutoController : Controller
{
ProdutosDAO _daoProdutos = new ProdutosDAO();
CategoriasDAO _daCategorias = new CategoriasDAO();
// GET: Produto
public ActionResult Index()
{
IList<Produto> produtos = _daoProdutos.Lista();
return View(produtos);
}
public ActionResult Form()
{
IList<CategoriaDoProduto> categorias = _daCategorias.Lista();
ViewBag.Categorias = categorias;
ViewBag.Produto = new Produto();
return View();
}
[HttpPost]
public ActionResult Adicionar(Produto newProduto)
{
int idDaInformatica = 1;
string nomeNao = "zzz";
if(newProduto.CategoriaId.Equals(idDaInformatica) && (newProduto.Nome == nomeNao))
{
ModelState.AddModelError("newProduto.NomeNao", "O Produto não pode ter o nome: " + nomeNao);
}
if (ModelState.IsValid)
{
_daoProdutos.Adiciona(newProduto);
return RedirectToAction("Index", "Produto");
}
else
{
IList<CategoriaDoProduto> categorias = _daCategorias.Lista();
ViewBag.Categorias = categorias;
ViewBag.Produto = newProduto;
return View("Form");
}
}
public ActionResult Visualizar(int id)
{
Produto produto = _daoProdutos.BuscaPorId(id);
ViewBag.Produto = produto;
return View();
}
}
}