使用传递的列表是空的ASP.Net MVC 3 / jQuery的阿贾克斯 [英] Passed List is empty using ASP.Net MVC 3/jQuery ajax
本文介绍了使用传递的列表是空的ASP.Net MVC 3 / jQuery的阿贾克斯的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下视图模型:
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>();
}
和以下控制器:
[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 });
}
和下面的jQuery的:
and the following 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通过就好了即将在我的模型,但列表为空。我在做什么错在这里?
The ID and WorkOrderNumber is coming through just fine in my model, but the List is empty. What am I doing wrong here?
推荐答案
我想它了。该行:
public List<CheckListInfo> CheckListInfos = new List<CheckListInfo>();
应该是
public List<CheckListInfo> CheckListInfos { get; set; }
更改该固定它。
这篇关于使用传递的列表是空的ASP.Net MVC 3 / jQuery的阿贾克斯的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文