代码
我无法将 JavaScript 对象数组发送到服务器。 ModelBinder 标准无法识别该格式。
在我的服务器上我有类(class):
public class PessoaViewModel
{
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
public string Nome { get; set; }
public string Tipo { get; set; }
public string CPF { get; set; }
public ICollection<TelefoneViewModel> Telefones { get; set; }
public ICollection<EnderecoViewModel> Enderecos { get; set; }
public ICollection<EmailViewModel> Emails { get; set; }
public PessoaViewModel Conjuge { get; set; }
}
public class TelefoneViewModel
{
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
[AdditionalMetadata("class", "span2")]
[AdditionalMetadata("placeholder", "Tipo")]
public string Tipo { get; set; }
[DataType(DataType.PhoneNumber)]
[AdditionalMetadata("class", "span2")]
public string Numero { get; set; }
[HiddenInput(DisplayValue = false)]
public int Ordem { get; set; }
}
I'm not listing the rest of the class because it is not yet used in the code!
我的 JavaScript
$.ajax
url: $(form).attr("action")
type: "POST"
error: (err, errType, errMessage) ->
console.error a.statusText
cache: false
data: ko.mapping.toJS(@, ignoreFunctionsMapping)
success: (data, txtStatus) -> console.log "OK!!?? On server maybe not!"
服务器结果
Full image: /image/NeIm1.jpg
问题
如您所见,帖子正在完成,并且值是正确的。
但是 asp.net mvc 没有正确填充 Telefones
对象!
我做错了什么?
最佳答案
你的问题是因为你缺少一个“.”,它应该具有以下格式:
Telefones[0].Id: 1
Telefones[0].Ordem: bli
关于asp.net-mvc-3 - 发布一个无法与 DefaultModelBinder 一起使用的 Javascript 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149106/