Вы передали null
в действие, потому что связыватель модели получил недопустимые значения для некоторых полей.Это означает, что если свойство int
, вам нужно передать действительное число, если оно bool
, вам нужно передать true
или false
и ничего больше.Если вам нужно инициализировать свойство со значением по умолчанию (null
), вы можете просто пропустить эти свойства
var pessoaContatoViewModel = {
//Id: 0, omit default value
//PessoaId: 0,
FormaContatoId: formaContatoId, //make sure this is valid integer
FormaContatoDescricao: '',
//FormasContatos: null, omit default value
//ContatosTipos: null, omit default value
//FormaContatoTipoId: 0, omit default value
Contato: contato,
Observacao: observacao,
ContatoPrincipal: contatoPrincipal, //make sure this boolean or string "true" or "false"
//PessoaContatoChamadaViewModel: null, omit default value
//PessoaContatoRedeSocialViewModel: null, omit default value
//PessoaContatoEmailViewModel: null omit default value
};
Если вы передадите следующую модель, все будет работать нормально
var pessoaContatoViewModel = {
FormaContatoId: 7,
FormaContatoDescricao: '',
Contato: "val",
Observacao: "some string",
ContatoPrincipal: true
};
Также condsiderсоздание отдельной модели для пост-запроса, принимающей только те данные, которые вам нужны (но это не обязательно)
public class PessoaContatoModel
{
public int FormaContatoId { get; set; }
public string FormaContatoDescricao { get; set; }
public string Contato { get; set; }
public string Observacao { get; set; }
public bool ContatoPrincipal { get; set; }
}
[HttpPost]
[Route("pessoa-gerenciar/changeFormaContato")]
public IActionResult ChangeFormaContato([FromBody] PessoaContatoModel pessoaContatoViewModel)