I'm studying AngularJS and Asp.net MVC and I was not able to bind a Person's CPF property when I perform a POST:
Person Class:
public class Pessoa
{
protected PessoaFisica() { }
public Int32 PessoaFisicaID{ get; set; }
public String Nome { get; set; }
public Cpf CPF { get; set; }
...
}
CPF Class:
public partial class Cpf
{
protected Cpf() { }
public Int64 Numero { get; private set; }
...
}
Controller AngularJS:
...
vm.salvar = function () {
var pessoaFisica = new Object();
pessoaFisica.PessoaFisicaID = vm.PessoaFisicaID;
pessoaFisica.Nome = vm.Nome;
//Bind do CPF com problema :-(
//Tentativa 1:
//pessoaFisica.CPF = new Object();
//pessoaFisica.CPF.Numero = vm.CPF;
//Tentativa 2:
pessoaFisica.CPF = vm.CPF;
//Uso o $http.post()
ajaxService
.ajaxPost(
pessoaFisica,
'/Home/Criar',
this.salvarPessoaFisicaOnSuccess,
this.salvarPessoaFisicaOnError
);
}
...
MyScreen:
OnthefirsttryIusedthecodebelow,butitdidnotwork:
//Tentativa1:pessoaFisica.CPF=newObject();pessoaFisica.CPF.Numero=vm.CPF;
Error:System.MissingMethodException:Noparameterlessconstructorwasdefinedforthisobject.
OnthesecondattemptIusedthecodebelowanditdidnotwork:
//Tentativa2:pessoaFisica.CPF=vm.CPF;
GetnullinAsp.netMVCcontroller:
What could I be adjusting to get the CPF bind informed?