I'm using the following script to post to and endpoint, it's hitting the breakpoint on the server so I know the routing is correct.
$(document).ready(function () {
            var o = new Object();
            o.message = 'Hi from the page';
            $.ajax({
                type: 'POST',
                contentType: 'application/json;',
                data: JSON.stringify(o),
                dataType: 'json',
                url: 'home/PingBack',
                success: function (result) {
                    alert(result.success);
                }
            });
        });
The endpoint on the server looks like this.
public JsonResult PingBack(MHolder message)
        {
            return Json(new { success = "steve"});
        }
and the Model looks like this.
  public class MHolder
    {
        public string message { get; set; }
    }
I'm sure that in the past the values have been automatically bound to the model, but I can't seem to get anything to be bound atm! Even if I just pass the value as a string, I'm sure it's something silly that I'm missing any ideas?