Reputation: 107
I'm having an issue with a knockout model being posted back to the server using asp.net mvc.
The model in question is:
public class Objetivo
{
public int Id { get; set; }
public int LocalId { get; set; }
public DateTime Mes { get; set; }
List<ObjetivoItem> Turno1 { get; set; }
List<ObjetivoItem> Turno2 { get; set; }
List<ObjetivoItem> Unico { get; set; }
}
public class ObjetivoItem
{
public string Dia { get; set; }
public decimal Total { get; set; }
}
and I have that as a knockout vm:
self.Id = ko.observable(0);
self.LocalId = ko.observable(MEL.Objetivos.local.Id);
self.Mes = ko.observable(MEL.Objetivos.start);
self.Turno1 = ko.observableArray([]);
self.Turno2 = ko.observableArray([]);
self.Unico = ko.observableArray([]);
The post I'm making to the server is as follows:
$.ajax({
url: "/Objetivos/Create",
type: "POST",
contentType: 'application/json; charset=utf-8',
data: ko.toJSON(self),
success: function (result) {
}
});
And this is the response I get on the server.
The model is being filled correctly on the page, I'm making sure the lists are all full.
{"Id":0,"LocalId":35,"Mes":"01/12/2013","Turno1":[{"Dia":"01/12/2013","Total":"0.00"},{"Dia":"02/12/2013","Total":"0.00"},{"Dia":"03/12/2013","Total":"0.00"},{"Dia":"04/12/2013","Total":"0.00"},{"Dia":"05/12/2013","Total":"0.00"},{"Dia":"06/12/2013","Total":"0.00"},{"Dia":"07/12/2013","Total":"0.00"},{"Dia":"08/12/2013","Total":"0.00"},{"Dia":"09/12/2013","Total":"0.00"},{"Dia":"10/12/2013","Total":"0.00"},{"Dia":"11/12/2013","Total":"0.00"},{"Dia":"12/12/2013","Total":"0.00"},{"Dia":"13/12/2013","Total":"0.00"},{"Dia":"14/12/2013","Total":"0.00"},{"Dia":"15/12/2013","Total":"0.00"},{"Dia":"16/12/2013","Total":"0.00"},{"Dia":"17/12/2013","Total":"0.00"},{"Dia":"18/12/2013","Total":"0.00"},{"Dia":"19/12/2013","Total":"0.00"},{"Dia":"20/12/2013","Total":"0.00"},{"Dia":"21/12/2013","Total":"0.00"},{"Dia":"22/12/2013","Total":"0.00"},{"Dia":"23/12/2013","Total":"0.00"},{"Dia":"24/12/2013","Total":"0.00"},{"Dia":"25/12/2013","Total":"0.00"},{"Dia":"26/12/2013","Total":"0.00"},{"Dia":"27/12/2013","Total":"0.00"},{"Dia":"28/12/2013","Total":"0.00"},{"Dia":"29/12/2013","Total":"0.00"},{"Dia":"30/12/2013","Total":"0.00"},{"Dia":"31/12/2013","Total":"0.00"}],"Turno2":[{"Dia":"01/12/2013","Total":"0.00"},{"Dia":"02/12/2013","Total":"0.00"},{"Dia":"03/12/2013","Total":"0.00"},{"Dia":"04/12/2013","Total":"0.00"},{"Dia":"05/12/2013","Total":"0.00"},{"Dia":"06/12/2013","Total":"0.00"},{"Dia":"07/12/2013","Total":"0.00"},{"Dia":"08/12/2013","Total":"0.00"},{"Dia":"09/12/2013","Total":"0.00"},{"Dia":"10/12/2013","Total":"0.00"},{"Dia":"11/12/2013","Total":"0.00"},{"Dia":"12/12/2013","Total":"0.00"},{"Dia":"13/12/2013","Total":"0.00"},{"Dia":"14/12/2013","Total":"0.00"},{"Dia":"15/12/2013","Total":"0.00"},{"Dia":"16/12/2013","Total":"0.00"},{"Dia":"17/12/2013","Total":"0.00"},{"Dia":"18/12/2013","Total":"0.00"},{"Dia":"19/12/2013","Total":"0.00"},{"Dia":"20/12/2013","Total":"0.00"},{"Dia":"21/12/2013","Total":"0.00"},{"Dia":"22/12/2013","Total":"0.00"},{"Dia":"23/12/2013","Total":"0.00"},{"Dia":"24/12/2013","Total":"0.00"},{"Dia":"25/12/2013","Total":"0.00"},{"Dia":"26/12/2013","Total":"0.00"},{"Dia":"27/12/2013","Total":"0.00"},{"Dia":"28/12/2013","Total":"0.00"},{"Dia":"29/12/2013","Total":"0.00"},{"Dia":"30/12/2013","Total":"0.00"},{"Dia":"31/12/2013","Total":"0.00"}],"Unico":[{"Dia":"01/12/2013","Total":"1.00"},{"Dia":"02/12/2013","Total":"2.00"},{"Dia":"03/12/2013","Total":"3.00"},{"Dia":"04/12/2013","Total":"4.00"},{"Dia":"05/12/2013","Total":"5.00"},{"Dia":"06/12/2013","Total":"6.00"},{"Dia":"07/12/2013","Total":"7.00"},{"Dia":"08/12/2013","Total":"8.00"},{"Dia":"09/12/2013","Total":"9.00"},{"Dia":"10/12/2013","Total":"10.00"},{"Dia":"11/12/2013","Total":"11.00"},{"Dia":"12/12/2013","Total":"12.00"},{"Dia":"13/12/2013","Total":"13.00"},{"Dia":"14/12/2013","Total":"14.00"},{"Dia":"15/12/2013","Total":"15.00"},{"Dia":"16/12/2013","Total":"16.00"},{"Dia":"17/12/2013","Total":"17.00"},{"Dia":"18/12/2013","Total":"18.00"},{"Dia":"19/12/2013","Total":"19.00"},{"Dia":"20/12/2013","Total":"20.00"},{"Dia":"21/12/2013","Total":"210.00"},{"Dia":"22/12/2013","Total":"22.00"},{"Dia":"23/12/2013","Total":"23.00"},{"Dia":"24/12/2013","Total":"24.00"},{"Dia":"25/12/2013","Total":"25.00"},{"Dia":"26/12/2013","Total":"26.00"},{"Dia":"27/12/2013","Total":"27.00"},{"Dia":"28/12/2013","Total":"28.00"},{"Dia":"29/12/2013","Total":"29.00"},{"Dia":"30/12/2013","Total":"30.00"},{"Dia":"31/12/2013","Total":"31.00"}]}
Any ideas?
This is the request I'm sending to the server
Upvotes: 3
Views: 139
Reputation: 34846
In your ASP.NET MVC model, make all your properties explicitly public
, like this:
public class Objetivo
{
public int Id { get; set; }
public int LocalId { get; set; }
public DateTime Mes { get; set; }
public List<ObjetivoItem> Turno1 { get; set; }
public List<ObjetivoItem> Turno2 { get; set; }
public List<ObjetivoItem> Unico { get; set; }
}
Upvotes: 2