I have a models like this:
   public class VMDetallePeriodoPAgo
    {
        public DetallePeriodoPagoViewModel Modelo1 { get; set; }
        public PerspectivaRealViewModel Modelo2 { get; set; }
    }
    public class DetallePeriodoPagoViewModel
    {
        public int ID { get; set; }
        public int IdRecibo { get; set; }
        public string Descripcion { get; set; }
        public int IdPeriodoPago { get; set; }
        public string Empleado { get; set; }
        public decimal Ingresos { get; set; }
        public decimal MontoISR { get; set; }
    }
    public class PerspectivaRealViewModel
    {
        public decimal PersepcionesReales { get; set; }
    }
And in controller I want to fill it as:
List<VMDetallePeriodoPAgo> LDPVM = new List<VMDetallePeriodoPAgo>();
            foreach (var i in periodos)
            {
                VMDetallePeriodoPAgo DPVM = new VMDetallePeriodoPAgo();
                DPVM.Modelo1.IdRecibo = i.IdRecibo;
                DPVM.Modelo1.Empleado = i.Empleado.Codigo;
                DPVM.Modelo1.Descripcion = i.Descripcion;
                DPVM.Modelo1.MontoISR = i.MontoIRS;
                LDPVM.Add(DPVM);
            }
Problem is when I try to execute it, when trying to fill model in line:
 DPVM.Modelo1.IdRecibo = i.IdRecibo;
I always getting:
Object reference not set to an instance of an object.
Why it happen, am I doing something wrong with my modeling? Regards
 
     
     
     
    