2

代码

我无法将一组 javascript 对象发送到服务器。ModelBinder 标准无法识别该格式。

在我的服务器上,我有课程:

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; }
}

我没有列出课程的其余部分,因为它还没有在代码中使用!

我的 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!"

服务器结果

动作粘合剂

完整图片:http: //i.stack.imgur.com/NeIm1.jpg

问题

可以看到,post 正在做,值是正确的。但是 asp.net mvc 没有正确填充Telefones对象!

我究竟做错了什么?

4

1 回答 1

1

您的问题是因为您缺少“。”,它应该具有以下格式:

Telefones[0].Id: 1
Telefones[0].Ordem: bli
于 2015-06-08T08:22:43.173 回答