如何在JQuery FormData对象中追加Collection

时间:2017-03-21 13:25:23

标签: jquery ajax asp.net-mvc-5 form-data

我的Cards课程中有EmployeeMasterA的集合,我不确定在FormData对象中追加集合的正确方法是什么。我想要的是这样的东西:

var data = new FormData();
data.append('Cards[0].CardId', 1);
data.append('Cards[0].CardTitle', "Credit");
data.append('Cards[1].CardId', 2);
data.append('Cards[1].CardTitle', "Debit");

这是我的ajax请求:

$.ajax({
    url: '/EmployeeMasterA/Create',        
    data: data,
    type: 'POST',        
    contentType: false,
    processData : false,        
    success: function (result) {
        if (result.Success == "1") {                
        }
    }
});

和我的controller

[HttpPost]
public ActionResult Create(EmployeeMasterA employeeMasterA)
{
    //get data and perform logics
}

EmployeeMasterA上课:

public class EmployeeMasterA
{
    public string EmployeeCode { get; set; }
    public virtual ICollection<Cards> Cards { get; set; }
}

EmployeeMasterA包含卡片集合,此处为Cards类:

public class Cards
{
    public int CardId { get; set; }
    public string CardTitle { get; set; }
}

如何在Cards对象中附加FormData的集合?因此它与EmployeeMasterA类正确绑定。

更新

当我查看调试模式时,Cards集合为null,为什么?

1 个答案:

答案 0 :(得分:0)

您为什么使用FormData?您只需发送数据的json对象即可。

请参阅:How to receive JSON as an MVC 5 action method parameter