Json to List <object> not binding </object>

时间:2013-12-16 11:19:12

标签: asp.net-mvc json

我遇到了json格式的对象发送问题,在Action Controller

中没有绑定

这里有json部分:

function filterTxAjustement(arrTx) {
    return {
        dateDebut: $("#TxAjustementDateDebut").val(),
        dateFin: $("#TxAjustementDateFin").val(),
        ufCode: $("#TxAjustementUf").val(),
        tx: JSON.stringify(arrTx)
    };
}

function SaveTx() {

    var arrTx = [];

    $.each(Day, function (i, v) {
        var $this = $('#' + v + 'Tx');
        var tx = new Object();
        tx.Day = v;
        tx.Nb = parseInt($this.val());
        tx.UfCode = parseInt($('#TxAjustementUf').val());
        tx.Total = 0;
        arrTx.push(tx);
    });

    $.ajax({
        url: EasilyRelativeUrl("Lit/SetTxAjustementByDateAndUf"),            
        data: filterTxAjustement(arrTx),
        type: 'POST',
        dataType: 'json'
    }).done(function (data) {

        $('#TxAjustementGrid').data("kendoGrid").dataSource.read();
    });
}

我的阵列人口众多:

  

dateDebut:16/12/2013   dateFin:22/12/2013   ufCode:21124   TX:[{ “日”: “星期日”, “NB”:1, “UfCode”:21124, “合计”:0},{ “日”: “星期一”, “NB”:2 “UfCode”: 21124, “总”:0},{ “天”: “星期二”, “NB”:3, “UfCode”:21124, “总”:0},{ “天”: “星期三”, “NB”: 0, “UfCode”:21124, “总”:0},{ “天”: “星期四”, “NB”:0, “UfCode”:21124, “总”:0},{ “天”:“星期五”, “NB”:0, “UfCode”:21124, “合计”:0},{ “日”: “星期六”, “NB”:0, “UfCode”:21124, “合计”:0}] < / p>

但是当它击中Action Controller时,tx为null

        public ActionResult SetTxAjustementByDateAndUf(DateTime dateDebut, DateTime dateFin, string ufCode, List<TauxAjustement> tx)

(这里是TauxAjustement对象)

    public class TauxAjustement
{
    public string Day { get; set; }
    public int Nb { get; set; }
    public int Total { get; set; }
    public int UfCode { get; set; }
}

我尝试过TauxAjustement [],但同样的问题。我添加了Total = 0和parseInt来准确定义C#对象,但是...... 我错过了什么?我为此做了一个CustomBinderModel?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您需要将tx参数定义为数组而不是List:

public ActionResult SetTxAjustementByDateAndUf(DateTime dateDebut, 
                                               DateTime dateFin, 
                                               string ufCode, 
                                               TauxAjustement[] tx)
{}