ich auf einer AngularJS App arbeitete, und eine der Methoden in dem Post-Daten js Service zu einem Web-api mit folgenden Objektstruktur in C#AngularJS Beitrag Objekt mit Kind Sammlungen zu einem MVC WebAPI
public class InvitationModel
{
public string Name { get; set; }
public string Email { get; set; }
public EventModel[] EventList { get; set; }
}
public class EventModel
{
public string EventName { get; set; }
public int TotalAdults { get; set; }
public int TotalChildren { get; set; }
public bool IsAccepted { get; set; }
}
Problem ist, dass, wenn ich diese Daten an eine WEBAPI-Methode poste, meine Parent-Level-Eigenschaften korrekt serialisiert werden, mit Ausnahme desjenigen, der die Auflistung enthält. Es wird immer auf null gesetzt.
Die Web-API-Methode, die die Anforderung recieves ist:
[AllowAnonymous]
[Route("RSVP")]
[HttpPost]
public bool Submit(InvitationModel invitationModel)
{
return true;
}
Also, Name und E-Mail-serialize richtig, aber Event
ich NULL ist auf der JavaScript-Seite hat zu überprüfen, und meine js Objekt enthält sowohl das Array als auch andere primitive Eigenschaften. Problem Ich vermute, ist auf der .NET-WebAPI-Seite.
Anfrage Nutzlast, die so etwas wie dies geschrieben wird ist:
{ "Name":"John Doe",
"EventList":{
"0":{ "TotalAdults":"1",
"TotalChildren":"2",
"EventName":"Event 1 Name"
},
"1":{ "TotalChildren":"2",
"TotalAdults":"2",
"EventName":"Event 2 Name"
},
"2":{ "TotalAdults":"1",
"TotalChildren":"1",
"EventName":"Event 3 Name"
}
}
}
Haben Sie die Informationen überprüft, die Sie bei einer Abfrage erhalten, und die Informationen, die Sie in Ihrem eckigen Beitrag erhalten, haben dasselbe Format? Kannst du ein Beispiel von beiden posten? Ich hatte dort ein ähnliches Problem. – r007
Nun, das ist, wie ich meine ng-Modelle einstellen: indata.im.EventList [0] .TotalAdults – user3276940