Boa tarde,
no exercício:
Crie uma nova action no ProdutoController que recebe o Produto que foi preenchido pelo usuário, grava o produto no banco de dados e por fim mostra uma nova página para o usuário com a mensagem, Produto adicionado com sucesso.
Eu criei a Action e coloquei a lista de "Categorias" em uma ViewBag, porém ao exibir esta lista em um DropDownList ocorre um erro:
Cannot convert type 'System.Collections.Generic.List' to 'System.Web.Mvc.SelectList'
Controller:
public ActionResult Form()
{
CategoriasDAO categoriaDao = new CategoriasDAO();
var categorias = categoriaDao.Lista().OrderBy(c => c.Nome).ToList();
ViewBag.Categorias = categorias;
return View();
}
View:
@model CaelumEstoque.Models.Produto
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Form</title>
</head>
<body>
<div>
@using (Html.BeginForm("Form", "Produto"))
{
<div>
@Html.LabelFor(p => p.Nome)
@Html.TextBoxFor(p => p.Nome)
</div>
<div>
@Html.LabelFor(p => p.Preco)
@Html.TextBoxFor(p => p.Preco)
</div>
<div>
@Html.LabelFor(p => p.Quantidade)
@Html.TextBoxFor(p => p.Quantidade)
</div>
<div>
@Html.LabelFor(p => p.Descricao)
@Html.TextBoxFor(p => p.Descricao)
</div>
<div>
@Html.DropDownList("Id",(SelectList)ViewBag.Categorias, "Selecione a categoria")
</div>
}
</div>
</body>
</html>
Neste campo: @Html.DropDownList("Id",(SelectList)ViewBag.Categorias, "Selecione a categoria")
Eu gostaria de pegar a lista armazenada na ViewBag, como eu poderia fazer esta operação sem realizar a converção?
Att,
Naiade Lima