So.... after a lot of debugging going on here, i must say that the problem was really simple.
First,
DO NOT USE a constructor in
ANY way when you use model binding. It will destroy your brain on the process. Instead, set the values when you create the instance of the ViewModel on the controller. For example:
ViewModelClass myViewModel = new ViewModelClass();
myViewModel.ThePropertyIWantToSet = SomeData;
This was the root of the problem.
Second, i was mistaken on the save action on the controller. I returned a View after submitting the data there... without passing a ViewModel(of course). I change this:
return View("New");
to:
return RedirectToAction("New");
I hope this comment will help people in the future !!