I am having a problem passing a model with an Ajax post request.
Values are passed into the Javascript function below, the variables are converted into a JSON string and sent to the controller method.
When using the Dev Tools in Chrome I can see that the data is being sent as expected.
The problem is that the properties of the object parameter in the controller are all 0. Why is this happening and how can it be fixed?
Example Data
EventID = 419656
EventStart = Tue Dec 05 2017 10:00:00 GMT+0000
EventEnd = Tue Dec 05 2017 11:00:00 GMT+0000
JavaScript:
function UpdateEvent(EventID, EventStart, EventEnd) {
alert(EventID);
$.ajax({
type: 'POST',
url: "/Calendar/UpdateEvent",
contentType: "application/json",
data: JSON.stringify({
Id: EventID,
NewEventStart: EventStart,
NewEventEnd: EventEnd
})
});
}
Model:
public class UpdateAppt
{
public int Id { get; set; }
public DateTime NewEventStart { get; set; }
public DateTime NewEventEnd { get; set; }
}
Controller:
[RoutePrefix("Calendar"), Route("{action=index}")]
public class CalendarController : Controller
{
public void UpdateEvent(UpdateAppt updateModel )
{
}
}