【发布时间】:2013-12-16 11:19:12
【问题描述】:
我对以 json 格式发送的对象有问题,该对象未绑定在动作控制器中
这里是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();
});
}
我的数组填充得很好:
发布日期:2013 年 16 月 12 日 日期Fin:22/12/2013 uf代码:21124 tx:[{"Day":"Sunday","Nb":1,"UfCode":21124,"Total":0},{"Day":"Monday","Nb":2,"UfCode": 21124,"Total":0},{"Day":"Tuesday","Nb":3,"UfCode":21124,"Total":0},{"Day":"Wednesday","Nb": 0,"UfCode":21124,"Total":0},{"Day":"Thursday","Nb":0,"UfCode":21124,"Total":0},{"Day":"Friday ","Nb":0,"UfCode":21124,"Total":0},{"Day":"Saturday","Nb":0,"UfCode":21124,"Total":0}]
但是当它到达动作控制器时,tx 为空
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 吗?
感谢您的帮助。
【问题讨论】:
-
现在可以了,我已经删除了数组的 JSON.stringify,如第一个链接中所述。谢谢你:)
标签: asp.net-mvc json