I am using PageMethods with an agenda to save appointments in the database and it works very well. But jQuery and JSON also work.
client side
PageMethods.UpdateEventData(calEvent.id, calEvent.title, startString, endString, calEvent.allDay, calEvent.backgroundColor);
in code behind
[WebMethod]
public static int UpdateEventData(int id, string title, string start, string end, bool allDayEvent, string backgroundColor)
{
}