【发布时间】:2019-03-15 09:47:31
【问题描述】:
我在 Asp.net 中使用 JAX 从复杂模型发布帖子时遇到问题。该模型有一些代表其他模型的属性,但目前,我只需要用 NULL 初始化它们。我不知道缺少什么,但我的控制器正在获取“null”值......在客户端完成的转换存在一些问题。有谁知道如何帮助我?
var pessoaContatoViewModel = {
Id: 0,
PessoaId: 0,
FormaContatoId: formaContatoId,
FormaContatoDescricao: '',
FormasContatos: null,
ContatosTipos: null,
FormaContatoTipoId: 0,
Contato: contato,
Observacao: observacao,
ContatoPrincipal: contatoPrincipal,
PessoaContatoChamadaViewModel: null,
PessoaContatoRedeSocialViewModel: null,
PessoaContatoEmailViewModel: null
};
$.ajax({
url: "/pessoa-gerenciar/changeFormaContato",
type: "POST",
data: JSON.stringify(pessoaContatoViewModel),
contentType: "application/json",
dataType: "json",
success: function (result) {
alert('ok');
},
error: function () {
alert("Oops! Algo deu errado.");
console.log(pessoaContatoViewModel);
}
});
[HttpPost]
[Route("pessoa-gerenciar/changeFormaContato")]
public IActionResult ChangeFormaContato([FromBody] PessoaContatoViewModel pessoaContatoViewModel)
{
//ViewBag.indice_new = indice;
//return PartialView("~/Views/Pessoa/PessoaContato/_PessoaContatoAdd.cshtml", _pessoaContatoAppService.CreateNew(pessoaNatureza, formaContatoId));
return null;
}
public class PessoaContatoViewModel
{
[Key]
public int Id { get; set; }
public int PessoaId { get; set; }
[DisplayName("Forma de Contato")]
[Required(ErrorMessage = "Escolha a Forma de Contato")]
[JsonConverter(typeof(StringEnumConverter))]
public int FormaContatoId { get; set; }
public string FormaContatoDescricao { get; set; }
public IEnumerable<SelectListItem> FormasContatos { get; set; }
public IEnumerable<SelectListItem> ContatosTipos { get; set; }
[DisplayName("Forma de Contato")]
[Required(ErrorMessage = "Selecione uma Forma de Contato")]
public int FormaContatoTipoId { get; set; }
[DisplayName("Contato")]
[Required(ErrorMessage = "O campo Contato é obrigatório")]
[MaxLength(100, ErrorMessage = "O campo {0} deve ter no máximo {1} caracteres")]
public string Contato { get; set; }
[DisplayName("Observação")]
[MaxLength(150, ErrorMessage = "O campo {0} deve ter no máximo {1} caracteres")]
public string Observacao { get; set; }
[DisplayName("Principal")]
public bool ContatoPrincipal { get; set; }
public FormaContatoTipoViewModel FormaContatoTipoViewModel { get; set; }
public PessoaContatoChamadaViewModel PessoaContatoChamadaViewModel { get; set; }
public PessoaContatoRedeSocialViewModel PessoaContatoRedeSocialViewModel { get; set; }
public PessoaContatoEmailViewModel PessoaContatoEmailViewModel { get; set; }
}
【问题讨论】:
标签: c# ajax asp.net-core asp.net-core-mvc