Usuário com melhor resposta
Erro ao passar valores para @Html.DropDownList

Pergunta
-
Meu Controller:
public ActionResult AssociarDependencia(int codigoMilestone, int codigoAtividade) { try { using (CPMDatabaseEntities db = new CPMDatabaseEntities()) { List<Atividade> lista = new List<Atividade>(); lista = db.Atividade.Where(a => a.CodigoMilestone == codigoMilestone).ToList(); ViewBag.Atividades = lista; return View(); } } catch (Exception) { throw; } }
Minha View:
<div class="form-group"> @Html.Label("Atividade Sucessora", new { @class = "control-label col-md-3" }) <div class="col-md-9"> @Html.DropDownList("Atividades") </div> </div> </div>
Usando o debug esse executa normal, vemos na imagem abaixo que o código retorna 2 valores.
Mas quando o debug chega no
@Html.DropDownList("Atividades")
ele dá uma exceção como vemos nas imagens abaixo.
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
Respostas
-
Caro Jean Carlos Galhardi,
Para preencher um (Select) Dropdownlist é com SelectList
e um dos códigos pode ser assim:
No seu Controller:
ViewBag.Atividades = new SelectList(lista, "Codigo", "Descricao");
Pronto dessa forma você preenche automaticamente aquele @Html.DropDownList("Atividades")
A outra forma seria assim:
Deixe o seu Controller do mesmo jeito e na sua View coloque assim:
@Html.DropDownList("Atividades", new SelectList(ViewBag.Atividades, "Codigo", "Descricao"))
Eu indicaria a primeira abordagem, porque, não passaria responsabilidade para View !!!
Fulvio C
- Marcado como Resposta Jean Carlos Galhardi terça-feira, 20 de outubro de 2015 22:37
- Editado Fulvio Cezar Canducci Dias quarta-feira, 21 de outubro de 2015 11:55
Todas as Respostas
-
Caro Jean Carlos Galhardi,
Para preencher um (Select) Dropdownlist é com SelectList
e um dos códigos pode ser assim:
No seu Controller:
ViewBag.Atividades = new SelectList(lista, "Codigo", "Descricao");
Pronto dessa forma você preenche automaticamente aquele @Html.DropDownList("Atividades")
A outra forma seria assim:
Deixe o seu Controller do mesmo jeito e na sua View coloque assim:
@Html.DropDownList("Atividades", new SelectList(ViewBag.Atividades, "Codigo", "Descricao"))
Eu indicaria a primeira abordagem, porque, não passaria responsabilidade para View !!!
Fulvio C
- Marcado como Resposta Jean Carlos Galhardi terça-feira, 20 de outubro de 2015 22:37
- Editado Fulvio Cezar Canducci Dias quarta-feira, 21 de outubro de 2015 11:55
-