Alex Rivera | Logout

ASP.NET MVC - Passing JSON DateTime to controller not mapping to controller parameters

Asked 2010-10-14T12:49:56.877
22

I am using a jQuery calendar to display events, which is designed to pull data from the server. On innit the calendar fires off a AJAX request to get an array of events objects (json encoded). All good so far. However, this request includes a JSON encoded date and time (at leats my implimentation does). The code looks like this:

data: function (start, end, callback) {
        $.post('/planner/GetPlannerEvents', { test: "test", start: JSON.stringify(start), end: JSON.stringify(end) }, function (result) { callback(result); });
    }

The declaration for the GetPlannerEvents controller method looks like this:

public ActionResult GetPlannerEvents(DateTime start, DateTime end)

The problem is that asp.net mvc 2 cannot seem to automatically parse the json encoded datetime and as such complains that the start and end values are null.

Is there another method I should be using to pass the javascript dates to the server so that they may be parsed correctly?

Thanks,

Edit
Report

1 Answer

-5

You need to use return type as 1JsonResult1s instead of 1ActionResult1s

your code goes somthing like this

public JasonResult(DateTime start, DateTime end) {
    //some logic
    return Json(); // you can pass any values within Json() with new keyword
}
answered 2010-10-14T13:05:01.543

Your Answer