jquery提交包含多个对象的模型

时间:2013-02-01 22:22:38

标签: c# jquery asp.net-mvc

- 我删除了原始文本以尝试稍微清理帖子 -

-------- EDIT -------------------------------------- -----------------------------------

以下是一些更多信息,不确定它是否有助于之前遇到此问题的任何人。 这是我的最终对象在JS脚本中的样子:

var DealerModel = {
    Dealer: {
        AccountId: 5678,
        Name: "Austin",
        City: "Who knows",
        State: "TN"
    },
    Test: 111,
    DealerCategories: [{Name: "Test1", Value:"Value1"},{Name:"Test2", Value:"Value2"}]
}

当我通过jquery将它传递给我的控制器时,它具有111的Test值,它显示DealerCategories有2个对象,但是对于这些对象以及Dealer它都显示为NULL。

我已经改变了模型/控制器几次,似乎无论如何我传入一个具有子json对象的对象它不喜欢它。我有一种感觉,这是我想念的简单。

2 个答案:

答案 0 :(得分:0)

模型绑定器知道如何从JSON绑定数组,所以你只需要给他这样的东西:

var DealerModel = 
{
  Dealer : 'my_dealer_value_here',
  DealerContact = [] <- a list of Contrats here
}

我觉得应该这样做。

答案 1 :(得分:0)

如果您的问题在于通过jQuery.post发布字符串和数字之类的简单值,您还可以提供json对象,例如上面Alex列出的对象。

$.ajax({
  type: "POST",
  url: 'MYURL',
  data: {
     Dealer : {id:-1, accountId: '', name:'TheDealer'},
     DealerContact: [{FirstName:'ContactName',...},{...},...]
  }
});

这些数据应该反序列化到您的对象。