我有一个包含几个布尔值的对象。但我没有将它发布到mvc3控制器,服务器成功接收到其他值。
$.ajax({
url: url,
type: 'POST',
data: JSON.stringify(g),
datatype: 'json',
contentType: 'application/json;charset=utf-8',
success: function (data) {
}
});
call 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){ }
所有布尔值都为false。但是收到了其他价值。
有什么可能的原因?
我整个下午都被困在这里。请指导我。
答案 0 :(得分:0)
看起来,你的布尔值是string
。也许您的JSON反序列化程序不会将"true"
转换为true
在静态类型语言中(包括C#)
true != "true"