在QQ群或者一些程序的交流平台,经常会有人问:我怎么传一个数组在Action中接收、我传的数组为什么Action的model中接收不到、或者我在ajax的data中设置了一些数组,为什么后台还是接收不了、还有一些怎么传送一个复杂的对象或者Action怎么接收一个复杂的对象等等这些问题。或者有些人遇到复杂的对象或者数组直接就传送个json字符串,然后在Action中把json字符串转成model对象,当然这也是一种做法,但也许不是最优的做法。
一、需求
按照如图的数据格式,传入到Action,用一个UserInfo Model接收,需求非常简单。
分析后我们可以看到,其中爱好是个字符串的数组,用户包含一个公司对象,然后所包含的公司对象中又有个电话数组,用户又包含数组对象,所以我们的Model应该是:
public class UserInfo { public string Name { get; set; } public int Age { get; set; } public string[] Bobbys { get; set; } public Company Company { get; set; } public Star[] Star { get; set; } }public class Company { public string Name { get; set; } public string Address { get; set; } public string[] Tel { get; set; } }public class Star { public string Name { get; set; } public int Age&nb