0

除了接收地址的子集合之外,该代码是否有效?在 json 中发送这个集合的正确方法是什么?不幸的是,这次尝试失败了。'addresses' 值为 null 谢谢,

var val = {
    'forename': 'test',
    'surname': 'test',
    'postcode': 'test',
    'Addresses': {
        'Line1': 'Test',
        'Line2': 'Here'
    }
};

jr.ajax.loadJson(url, val,
   true,
   function(xhr, textStatus, errorThrown) {
   }, 
   true, 'post', val);
});


// I want the posted value to be this object

public class Member
{
    public string forename { get; set; }        
    public string surname { get; set; }        
    public string postcode { get; set; }
    public Address[] Addresses { get; set; }
}

public class Address
{
    public string Line1 { get; set; }        
    public string Line2 { get; set; }        
}

我的控制器如下所示:

public ActionResult Show(Member request) {..}
4

1 回答 1

0

您的 JSON 对于您的 Addresses 子成员不正确。

在您的模型中,您将 Addresses 作为地址数组。但是,在您的 JSON 中,您将地址作为单个地址发送。那是行不通的。

相反,将您的 JSON 更改为:

var val = {
    'forename': 'test',
    'surname': 'test',
    'postcode': 'test',
    'Addresses': [
        {
            'Line1': 'Test',
            'Line2': 'Here'
        }
    ]
};

注意地址结构周围的[and 。]现在应该可以了。

另一个考虑因素是在您的模型中使用List<Address>而不是。Address[]

于 2013-06-20T16:33:01.283 回答