MVC模型绑定有时不起作用

时间:2015-10-02 13:11:23

标签: asp.net-mvc model-binding

我的行为很奇怪。我通过字符串化为JSON发送一些复杂的对象。 我对模型和javascript数据具有相同的类结构,因此它应该很容易映射到模型。它适用于大多数情况,但在某些情况下,ThenClause中的语句不会映射到模型:

从客户端发送的JSON数据:

JSON data that is sent from the client

我在控制器中获得的模型:

Model that I get in the controller

有人知道为什么在某些情况下模型装订器不起作用吗?

JSON运行良好:

  

{ “dqsName”:NULL, “propertyTypes”:[], “dqsTemplateId”:0, “部分”:[{ “SectionType”:2 “conditionsSortOrder”:2 “disableAddField”:真, “条件” :[{ “FieldId”:23, “OperatorId”:131, “SortOrder的”:1, “值”:[{ “DqsValueId”:0 “DqsConditionId”:0, “值”: “2015年12月12日” }], “selectedValues”:[空]}], “SortOrder的”:0 “ThenClause”:{ “语句”:[{ “DqsStatementId”:0 “DqsValue”: “0”, “FieldId”:1, “SortOrder的”:0}], “statementSortOrder”:1, “disableAddField”:真}, “ElseClause”:{ “语句”:[{ “DqsStatementId”:0 “DqsValue”:0 “FieldId”:1, “SortOrder的”:0}], “statementSortOrder”:1, “disableAddField”:真}}], “sectionSortOrder”:1, “disableAddElse”:真 “disableAddStandalone”:真 “baseScore”:0}

不起作用的JSON:

  

{ “dqsName”:NULL, “propertyTypes”:[], “dqsTemplateId”:0, “部分”:[{ “SectionType”:2 “conditionsSortOrder”:1, “disableAddField”:真, “条件” :[{ “FieldId”:8中, “OperatorId”:135, “SortOrder的”:0 “值”:[{ “DqsValueId”:0 “DqsConditionId”:0, “值”: “2015年12月12日” },{ “DqsValueId”:0 “DqsConditionId”:0, “值”: “2015年12月13日”}], “selectedValues”:[NULL,NULL]}], “SortOrder的”:1, “ThenClause” :{ “语句”:[{ “DqsStatementId”:0 “DqsValue”:0 “FieldId”:1, “SortOrder的”:0}], “statementSortOrder”:1, “disableAddField”:真}, “ElseClause” :{ “语句”:[{ “DqsStatementId”:0 “DqsValue”:0 “FieldId”:1, “SortOrder的”:0}], “statementSortOrder”:1, “disableAddField”:真}}],” sectionSortOrder “:2”,disableAddElse “:真” disableAddStandalone “:真” baseScore“:0}

我观察到的其他一些事情是,如果JSON不起作用我有一个null ElseClause,则ThenClause被正确绑定。但是如果我在ElseClause中有一些数据,则ThenClause将不会被正确绑定(语句将为null)。

0 个答案:

没有答案