El parámetro jQuery AJAX no se pasa a MVC

Estoy un poco atascado en lo que probablemente sea una situación común, pero no puedo encontrar mucho en cuanto a soluciones.

Estoy pasando un solo parámetro int a un método de controlador MVC, esperando una respuesta de Json. El problema es que el parámetro, mientras se rellena en el extremo del cliente, no se reconoce en el extremo del servidor y se interpreta como nulo.

Aquí está el código:

function getBatches(p) { $.ajax({ type: "GET", data: "{'ProjectID': " + p + "}", url: "/Home/Batches", success: function(msg) { populateBatches(msg); } }); 

}

El valor para p es un entero. En el extremo del servidor, el código se ve así:

 [AcceptVerbs(HttpVerbs.Get)] public JsonResult Batches(int ProjectID) { return Json(TimeHelper.GetBatchesForProject(ProjectID)); } 

He intentado modificarlo ligeramente para que el argumento int del lado del servidor sea anulable (es decir, int? ProjectID ) pero, de nuevo, eso no parece ayudar. El problema está en algún lugar de la traducción. Ideas?

data deben ser un objeto literal de Javascript:

 $.ajax({ type: "GET", data: {ProjectID: p}, url: "/Home/Batches", success: function(msg) { populateBatches(msg); } });