none
DropDownList MVC C# RRS feed

  • Pergunta

  • Boa noite a todos:

    Gostaria de um ajuda de como preencher um DropDownList com as dados do banco de dados (entity framework) em Asp.Net MVC utilizando C#.

    Obrigado a todos.

    domingo, 3 de maio de 2015 01:52

Respostas

Todas as Respostas

  • Aqui um exemplo de como preencher um dropdown list  de maneira generica usando AJAX. A unica diferença para o Entity seria na hora de preencher a lista, no controler.

    Lembre que vc precisa trabalhar as 3 camadas (M, V e C)

    Começando com o model:

    public class Estado
    {
    
    public Estado (in Id, string Nome, string Sigla)
    
    {
    
    this.Id=Id;
    
    this.Nome=Nome;
    
    this.Sigla=Sigla;
    
    }
        public int Id { get; set; }
        public string Nome { get; set; }
        public string Sigla { get; set; }
    }


    Agora o Controler

    public ActionResult GetEstados()
    {
        List<Estado>Estados= new List<Estado>
        {
               {1,"Acre", "AC"},
               {2,"Alagoas", "AL"},
               {3,"Amapá", "AP"},
               {4,"Amazonas", "AM"},
               {5,"Bahia", "BA"},
               {6,"Ceará", "CE"},
               {7,"Distrito Federal", "DF"},
               {8,"Espírito Santo", "ES"},
               {9,"Goiás", "GO"},
               {10,"Maranhão", "MA"},
               {11,"Mato Grosso", "MT"},
               {12,"Mato Grosso do Sul", "MS"},
               {13,"Minas Gerais", "MG"},
               {14,"Pará", "PA", "Belém"},
               {15,"Paraíba", "PB"},
               {16,"Paraná", "PR"},
               {17,"Pernambuco", "PE"},
               {18,"Piauí", "PI"},
               {19,"Rio de Janeiro", "RJ"},
               {20,"Rio Grande do Norte", "RN"},
               {21,"Rio Grande do Sul", "RS"},
               {22,"Rondônia", "RO"},
               {23,"Roraima", "RR"},
               {24,"Santa Catarina", "SC"},
               {25,"São Paulo", "SP"},
               {26,"Sergipe", "SE"},
               {27,"Tocantins", "TO"}
        };
        return Json(Estados, JsonRequestBehavior.AllowGet);
    }

    E a view:

    @Html.DropDownListFor(x => x.EstadoId, new SelectList(Enumerable.Empty<SelectListItem>()))
    

    Para isso vc ja precisar de um script:

    $(function() { $.getJSON('@Url.Action("GetEstados", "Cadastro")', function(result) { var ddl = $('#EstadoId'); ddl.empty(); $(result).each(function() { ddl.append( $('<option/>', { value: this.Id }).html(this.Nome) ); }); }); });


    att

    domingo, 3 de maio de 2015 15:08
    Moderador
  • Obrigado William pela ajuda.
    domingo, 3 de maio de 2015 18:28