asp.net-mvc-3 - 发布一个无法与 DefaultModelBinder 一起使用的 Javascript 数组?

标签 asp.net-mvc-3 jquery knockout.js model-binding

代码

我无法将 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!"

服务器结果

Action binder

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/

相关文章:

asp.net-mvc - asp.net mvc 3 中的 AuthorizeAttribute 属性中使用 RedirectResult 的问题

jquery - 替换内容中的文本

javascript - 使用 Knockout 通过单击事件从 JSON 更新 View

javascript - knockout.js 3.3 - 在 foreach 绑定(bind)中重新呈现组件

javascript - 操作 DOM 时的数据绑定(bind)不适用于 Angular、Knockout

c# - Enum HasFlag函数实现的内部逻辑是什么

c# - 如何在 asp.net mvc3 razor 的文本框中设置默认名称

Jquery 回调函数没有改变 css 属性

javascript - 如何创建仅以字符串中的第一个字母或空格后开始的任何其他字母开头的自动完成功能

javascript - 如何检测浏览器是否启用javascript s.t.母版页能做出正确的 react 吗?