Usuário com melhor resposta
Problemas p/ Carregar DropDownList na View EDIT

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
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
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)
- Editado Paulo M Dalbosco quinta-feira, 6 de setembro de 2012 12:20
-
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
-
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