jquery - 使用 ASP.Net MVC 3/jQuery ajax 传递的列表为空

标签 jquery ajax asp.net-mvc-3

我有以下 View 模型:

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>();
}

和以下 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 });
}

以及以下 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 在我的模型中运行良好,但列表为空。我在这里做错了什么?

最佳答案

我明白了。该行:

public List<CheckListInfo> CheckListInfos = new List<CheckListInfo>();

应该是

public List<CheckListInfo> CheckListInfos { get; set; }

更改此设置即可修复它。

关于jquery - 使用 ASP.Net MVC 3/jQuery ajax 传递的列表为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029661/

相关文章:

c# - Ajax 请求在 Safari 和 Ipad 上不会调用 Controller ,在 Iphone 上正常

javascript - 如何从 API 填充数据并加载到下拉列表中

javascript - 如何使用 AJAX 在页面内调用 PHP 函数

asp.net - 自定义Web字体在IE9中不起作用

.net - 在asp.net 4.0 mvc中显示viewdata

jquery - 使用Jquery表单插件asp.net mvc 3

javascript - 未捕获的语法错误 : Unexpected token -

c# - 如何从 Access .mdb 文件创建 .edmx 模型?

php - 绑定(bind) jQuery 网格?

javascript - 添加的类未被记住