none
Problemas p/ Carregar DropDownList na View EDIT RRS feed

  • Pergunta

  • Boa Tarde Pessoal.

    Tenho um cadastro de clientes onde alguns dos campos são DropDownList (DDL).

    P/ efeito de cadastro eu consigo usar o DDL sem problemas, pois está carregando as cidades que devem ser utilizadas como opção (por exemplo).

    Porém eu também tenho um View Edit, para editar o cadastro se necessário. Nessa View tb deverá conter os mesmo DDLs (porém mostrando já selecionado o valor que vem do banco de dados) com as opções p/ alteração e é ai que estou tendo problemas.

    O código p/ o cadastro (View Create) está da seguinte forma:

    Classe Repositorio:
    
    public static IOrderedQueryable<ClientesFornecedores> GetAll()
            {
                WebTranspContext db = new WebTranspContext();
                IOrderedQueryable<ClientesFornecedores> consulta = (from o in db.ClientesFornecedores
                                where o.Status == 0
                                orderby o.Id
                                select o);
                return consulta;
            }
    
    
    View Create:
    
    <%: Html.DropDownListFor(model => model.IdCidade,new SelectList(WEBTransp.Models.RepositorioCidades.GetAllCidades(),"Id","Nome"))%>
    
    
    

    Como vou utilizar o DropDownlist p/ carregar a opção que foi cadastrado no banco de dados e também p/ listar as demais opções como alteração ?

    Tentei da seguinte forma e não consegui:

    <%: Html.DropDownList("ddlCidades",new SelectList(WEBTransp.Models.RepositorioCidades.GetAllCidades(), "Id", "Nome",Model.IdCidade) %>

    Alguém sabe me explicar ?

    Desde já agradeço a atenção.


    Brian Souza - Análise e Desenvolvimento de Sistemas

    quarta-feira, 5 de setembro de 2012 19:51

Respostas

  • Cara eu tava viajando, é o mesmo código que eu usei no Create e eu não preciso atribuir o selecteditem, por isso não tinha dado certo.

    Fica assim mesmo: 

    <%: Html.DropDownListFor(model => model.IdCidade,new SelectList(WEBTransp.Models.RepositorioCidades.GetAllCidades(),"Id","Nome"))%>
    Valeu a ajuda ae.

    Brian Souza - Análise e Desenvolvimento de Sistemas

    • Marcado como Resposta Brian Souza quinta-feira, 6 de setembro de 2012 14:43
    quinta-feira, 6 de setembro de 2012 14:43

Todas as Respostas

  • Na View Create, usando Razor.

    @Html.DropDownList("IDCliente", String.Empty)

    No Controller, no Get do Create caso vc esteja na View Create vc vai ter que criar uma ViewBag. Em VB.

     Function Create() As ActionResult
    
                ViewBag.IDCliente = New SelectList(db.Clientes, "IDCliente", "Nome")
                
                Return View()
            End Function
    Neste caso ele vai buscar os dados da Tabela Cliente onde a coluna é IDCLiente.

    E depois na View Edit
    @Html.DropDownList("IDCliente", String.Empty)


    quinta-feira, 6 de setembro de 2012 12:19
  • P/ o Id do cliente que no caso vem do banco de dados eu consegui resolver usando o:

    <%: Html.DropDownListFor(model => model.IdCidade,new SelectList(WEBTransp.Models.RepositorioCidades.GetAllCidades(),"Id","Nome"))%>

    Mas no caso também tenho uma DropDownList que representa o Tipo do Cadastro (se é cliente ou fornecedor).

    Quando faço da forma que listou ele carrega as opções na View, mas para salvar ele sempre salva o id 0 (de clientes), por mais que eu escolha o Id 1.


    Brian Souza - Análise e Desenvolvimento de Sistemas

    quinta-feira, 6 de setembro de 2012 14:14
  • Cara eu tava viajando, é o mesmo código que eu usei no Create e eu não preciso atribuir o selecteditem, por isso não tinha dado certo.

    Fica assim mesmo: 

    <%: Html.DropDownListFor(model => model.IdCidade,new SelectList(WEBTransp.Models.RepositorioCidades.GetAllCidades(),"Id","Nome"))%>
    Valeu a ajuda ae.

    Brian Souza - Análise e Desenvolvimento de Sistemas

    • Marcado como Resposta Brian Souza quinta-feira, 6 de setembro de 2012 14:43
    quinta-feira, 6 de setembro de 2012 14:43