2017-03-21 4 views
1

Ich habe eine Sammlung von Cards in meiner EmployeeMasterA Klasse, ich bin mir nicht sicher, was ist die richtige Methode zum Anhängen der Auflistung in FormData Objekt. Was ich will, so etwas wie dieses:Anfügen einer Auflistung in JQuery FormData-Objekt

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"); 

und dies ist mein Ajax-Anforderung:

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

und meine controller:

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

EmployeeMasterA Klasse:

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

EmployeeMasterA enthält Sammlung von Karten, hier ist die Cards Klasse:

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

Wie kann ich die Sammlung von Cards im FormData Objekt anhängen? Damit bindet es sich korrekt an die Klasse.

aktualisieren

Wenn ich einen Blick in den Debug-Modus nehmen, die Cards Sammlung ist null, warum?

+2

Der Code, den Sie funktioniert perfekt und 'Cards' enthält 2 Elemente gezeigt haben, die richtig bestückt sind. Wenn es nicht für Sie arbeitet, ist es entweder nicht der Code, den Sie verwenden, oder Sie haben einige relevanten Code weggelassen. –

+0

@StephenMuecke, Du hast Recht, ich habe einen sehr dummen Fehler gemacht, 'FormData' wurde reinitialisiert, deshalb bekam ich' null', vielen Dank für deine Zeit :) –

Antwort