json - 将布尔值始终为false的json对象发布到MVC3控制器

原文 标签 json asp.net-mvc-3 jquery

我有一个包含几个布尔值的对象。但我无法将其发布到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){ }


所有布尔值均为false。但是会收到其他值。

有哪些潜在原因?

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

最佳答案

看起来您的布尔值以string的形式出现。也许您的JSON解串器无法将"true"转换为true

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

true != "true"

相关文章:

jquery - 有没有一种本地方法可以创建客户端模型以发布到我的控制器而无需手动滚动它们?

javascript - 脚本可以在没有jQuery UI的情况下工作,但不能与jQuery UI selectmenu一起工作

json - 如何在TypeScript中迭代JSON属性

java - 杰克逊API的实现

java - 投射时出现Java json错误

c# - MVC3 AJAX表单-DateTime溢出?

asp.net-mvc - 直接在MVC中指定视图位置是否更有效?

java - 使用JSON Adventure将Javascript数组转换为Java数组

javascript - 如何使用js / jquery从头到尾计数? [重复]

jquery - 禁用DIV中的所有A(URL)元素