使用ASP.Net MVC 3 / jQuery ajax传递List为空

我有以下ViewModel:

public class CheckListInfo { public int CheckListQuestionID { get; set; } public string QuestionText { get; set; } public bool Value { get; set; } } public class AddEditWorkOrderViewModel { [Display(Name = "Work Order ID")] public int ID { get; set; } [Display(Name = "Work Order Number")] public string WorkOrderNumber { get; set; } public List CheckListInfos = new List(); } 

和以下控制器:

 [HttpPost] public ActionResult Update(int ID, AddEditWorkOrderViewModel model) { if (ModelState.IsValid) { BusinessLogic.WorkOrders blWorkOrders = new BusinessLogic.WorkOrders(); WorkOrder workOrder = blWorkOrders.GetWorkOrder(ID); Mapper.CreateMap(); Mapper.Map(model, workOrder); blWorkOrders.UpdateWorkOrder(workOrder); return Json(new { success = true }); } return Json(new { success = false }); } 

和以下jQuery:

 var checkListQuestionInfos = new Array(); var checkListQuestion = { CheckListQuestionID: 1, QuestionText: 'Test1', Value: true }; checkListQuestionInfos.push(checkListQuestion); var data = { WorkOrderNumber: $("#WorkOrderNumber").val(), CheckListInfos: checkListQuestionInfos } $.ajax({ url: '@Url.Action("Update", new { id = @Model.ID })', type: 'POST', async: false, contentType: "application/json; charset=utf-8", data: JSON.stringify(data) }); 

ID和WorkOrderNumber在我的模型中正常运行,但List是空的。 我在这做错了什么?

我想到了。 这条线:

 public List CheckListInfos = new List(); 

本来应该

 public List CheckListInfos { get; set; } 

改变这个固定它。