none
Adicionar em uma List Objeto (Asp.net mvc 4) RRS feed

  • Pergunta

  •  Boa noite Desenvolvedores,

    Sou novo em c# e estou desenvolvendo uma aplicação em ASP.NET MVC 4, enviando um objeto preenchido para uma view, mas estou com a seguinte situação

    Cenário: Um cliente tem um ou mais telefones:

    estou preenchendo objeto da seguinte forma, e ocorre o erro:

               public class Telefone

             {
                   public string DDD { get; set; }
                    public string Numero { get; set; }
                }

                public class Cliente
                {
                    public string Nome { get; set; }
                    public List<Telefone> Telefones { get; set; }

                }

                Cliente cliente = new Cliente();
                cliente.Nome = "Renato";

               cliente.Telefones.Add(new Telefone() { DDD = "31", Numero = "111111" }); -

    {"Referência de objeto não definida para uma instância de um objeto."}

                return View(cliente);

    segunda-feira, 10 de março de 2014 03:32

Todas as Respostas

  • Bom dia Renato Ayres,

    O erro não esta no MVC, mas sim na forma que você esta atribuindo os telefones ao Cliente, pois uma lista de telefones deve ser instanciada antes de atribuirmos algo a ela, você pode fazer de duas maneiras, uma delas é justamente atribuir uma instancia a mesma ou através do construtor, veja estes exemplos:

    Uma instancia direta:
    Cliente cliente = new Cliente();
    cliente.Nome = "Renato";
    cliente.Telefones = new List<Telefone>();
    cliente.Telefones.Add(new Telefone() { DDD = "31", Numero = "111111" });

    Via construtor:
    public class Cliente
    {
         public string Nome { get; set; }
         public List<Telefone> Telefones { get; set; }
    
         public Cliente()
         {
             this.Telefones = new List<Telefone>();
         }
    }
    
    Cliente cliente = new Cliente();
    cliente.Nome = "Renato";
    cliente.Telefones.Add(new Telefone() { DDD = "31", Numero = "111111" });


    Vitor Mendes | http://www.vitormendes.com.br/

    "Ajuda teu semelhante a levantar a sua carga, porém, não a carregá-la." (Pitágoras)


    • Editado Vitor Mendes segunda-feira, 10 de março de 2014 10:16
    segunda-feira, 10 de março de 2014 10:16