I have the following 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<CheckListInfo> CheckListInfos = new List<CheckListInfo>();
}
and the following controller:
和下面的控制器:
[HttpPost]
public ActionResult Update(int ID, AddEditWorkOrderViewModel model)
{
if (ModelState.IsValid)
{
BusinessLogic.WorkOrders blWorkOrders = new BusinessLogic.WorkOrders();
WorkOrder workOrder = blWorkOrders.GetWorkOrder(ID);
Mapper.CreateMap<AddEditWorkOrderViewModel, DataModels.WorkOrder>();
Mapper.Map(model, workOrder);
blWorkOrders.UpdateWorkOrder(workOrder);
return Json(new { success = true });
}
return Json(new { success = false });
}
and the following jQuery:
和下面的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)
});
The ID and WorkOrderNumber is coming through just fine in my model, but the List is empty. What am I doing wrong here?
ID和WorkOrderNumber在我的模型中通过得很好,但是列表是空的。我在这里做错了什么?
1 个解决方案
#1
3
I figured it out. The line:
我想出来。线:
public List<CheckListInfo> CheckListInfos = new List<CheckListInfo>();
should have been
应该是
public List<CheckListInfo> CheckListInfos { get; set; }
Changing this fixed it.
改变固定它。
#1
3
I figured it out. The line:
我想出来。线:
public List<CheckListInfo> CheckListInfos = new List<CheckListInfo>();
should have been
应该是
public List<CheckListInfo> CheckListInfos { get; set; }
Changing this fixed it.
改变固定它。