Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Aula 04 e 05 - Model Binder não está mandando um parâmetro para Action

Pessoal,

Deve ser algo muito simples, mas que eu não consegui achar.

Quando dou o submit no formulario, ao receber na Action um objeto do tipo Produto, a categoria e CategoriaId vem vazios.

Segue código:

Action

[HttpPost] public ActionResult Adiciona(Produto produto) { int idDaInformatica = 1;

if(produto.CategoriaId.Equals(idDaInformatica) && produto.Preco < 100) { // nome do erro ModelState.AddModelError("produto.Invalido", "Informática com preço abaixo de R$ 100."); }

if (ModelState.IsValid) { ProdutosDAO produtosDao = new ProdutosDAO(); produtosDao.Adiciona(produto); ViewBag.produtos = produtosDao.Lista(); return RedirectToAction("Index", "Produto"); } else { CategoriasDAO categoriasDAO = new CategoriasDAO(); ViewBag.categorias = categoriasDAO.Lista(); ViewBag.Produto = produto; return View("Form"); } }

Cshtml

@Html.ValidationMessage("produto.Invalido") Nome @Html.ValidationMessage("produto.Nome")

Preço Quantidade Descrição Categoria @foreach (var categoria in ViewBag.categorias) {

@categoria.Nome }
2 respostas
solução!

Ops, mandei o código todo errado.

Não encontrei onde fechar esta discussão, por favor se poderem retirá-la, ficaria agradecido.