我遇到了问题,我似乎不知道如何序列化类型的对象:
public class SchedulingCalendarMonth
{
public List<SchedulingCalendarWeek> Weeks {get; set; }
}
public class SchedulingCalendarWeek
{
public List<SchedulingCalendarDay> Days { get; set; }
}
public class SchedulingCalendarDay
{
public int Id { get; set; }
public bool SomeBoolProperty { get; set; }
}
我尝试过这样的事情:
<script type="text/javascript">
$(document).ready(function () {
var Month =
{
Weeks: []
};
var Weeks = { Days: [{ Id: 1, SomeBoolProperty: true }, { Id: 4, SomeBoolProperty: true }, { Id: 43, SomeBoolProperty: false}] };
Month.Weeks = Weeks;
$.ajax({
url: '/Home/Test',
type: 'POST',
dataType: 'json',
data: JSON.stringify({ month: Month }),
contentType: 'application/json; charset=utf-8',
success: function (result) {
alert(result.Result);
}
});
});
但我对控制器操作的所有操作都是Month对象,其中Weeks = null。
有什么想法吗?
答案 0 :(得分:3)
原因是你的Month.Weeks
是一个数组,所以为了添加一个数组,你不能像上面Month.Weeks = Weeks;
那样做,而是Month.Weeks.push(Weeks);
给它一个去吧
感谢。