3
Good morning, everyone,
I’m new to development, and I’m having trouble passing a list of a controller query to a view. I did some research and all the ways I found didn’t help much, if anyone can help me on this I’ll be grateful.
Follows controller:
namespace DinheiroControlado.Controllers
{
public class RelatorioController : Controller
{
//
// GET: /Relatorio/
private DinheiroControladoBD db2 = new DinheiroControladoBD();
public ActionResult Index()
{
var cookie = DinheiroControlado.Repositorios.RepositoriosUsuarios.VerificaSeOUsuarioEstaLogado();
var dados = (from d in db2.Movimentacoes
join c in db2.Categorias on d.IDCategoria equals c.IDCategoria
where d.IDUsuario == cookie.IDUsuario
group d by c.Descricao into g
select new { Categoria = g.Key, Valor = g.Sum(d => d.Valor)}).Take(5);
ViewBag.grafico = dados;
return View();
}
}
}
Segue View:
@{
ViewBag.Title = "Index";
Layout = "~/Views/Layout2.cshtml";
}
<h2>Index</h2>
<table>
<tbody>
@{foreach (var item in ViewBag.grafico)
{
<tr>
<td>
@item.Categoria
</td>
<td>
@item.Valor
</td>
</tr>
}
}
</tbody>
Error that is occurring:
Erro de Servidor no Aplicativo '/'. 'object' não contém uma definição para 'Categoria' 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: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'object' não contém uma definição para 'Categoria'
Erro de Origem:
Linha 11: <tr>
Linha 12: <td>
Linha 13: @item.Categoria
Linha 14: </td>
Linha 15: <td>
Arquivo de Origem: c:\TCC\C#\DinheiroControlado\DinheiroControlado\Views\Relatorio\Index.cshtml Linha: 13
Rastreamento de Pilha:
Thank you so much man!!! That’s what I needed!! It worked out!!
– Rodrigo Santos