2

我有一个包含几个布尔值的对象。但我未能将其发布到 mvc3 控制器,服务器已成功接收其他值。

$.ajax({
     url: url,
     type: 'POST',
     data: JSON.stringify(g),
     datatype: 'json',
     contentType: 'application/json;charset=utf-8',
     success: function (data) {
      }
});

调用JSON.stringify(g)将返回以下字符串 ( *partial )

"Entry":["true","false"],"Exit":"false","Speeding":["true","false"],"SpeedLimit":"110","EES_Monday":["true","false"],"EES_Tuesday":["true","false"],"EES_Wednesday":["true","false"],"EES_Thursday":["true","false"],"EES_Friday":["true","false"],"EES_Saturday":"false","EES_Sunday":"false"

但是,我的服务器控制器未能接收到布尔值

[HttpPost]
public String Edit(EditModel g){ }

所有布尔值都是假的。但是会收到其他值。

潜在的原因是什么?

我整个下午都被困在这里。请指导我。

4

1 回答 1

0

看起来,您的布尔值是以string. 也许您的 JSON 反序列化器不会转换"true"true

在静态类型语言中(包括 C#)

true != "true"
于 2012-10-24T11:45:07.600 回答