none
Erro ao passar valores para @Html.DropDownList RRS feed

  • 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.

    inserir a descrição da imagem aqui

    Mas quando o debug chega no @Html.DropDownList("Atividades") ele dá uma exceção como vemos nas imagens abaixo.

    inserir a descrição da imagem aqui


    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.

    domingo, 18 de outubro de 2015 18:26

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


    domingo, 18 de outubro de 2015 22:11

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


    domingo, 18 de outubro de 2015 22:11
  • Boa tarde Jean, dá uma olhada nesse link do Eduardo Pires, acredito que resolva seu problema!

    http://eduardopires.net.br/2014/08/tecnica-simples-dropdownlist-asp-net-mvc/

    segunda-feira, 19 de outubro de 2015 15:45