Passar uma matriz de objetos usando jquery.load para MVC 3

Eu tive um problema ao tentar passar uma matriz de objetos para um controlador / ação do MVC3. Eu encontrei várias discussões na web (incluindo aqui no SO), mas nenhuma resolveu o meu problema. Aqui está o que estou trabalhando:

public class Person
{
   public Guid TempId { get; set; }
   public bool ReadOnly { get; set; }
   [Required(ErrorMessage = "Required")]
   public string Name { get; set; }
}

Aqui está o que a minha ação de controlador (atualmente, eu tentei muitas variações) se parece com:

[HttpGet]
public ActionResult AddPerson(List<Person> people)
{
    if (null != people)
    {
        foreach (var person in people)
        {
           Debug.WriteLine(person );
        }
     }
    return View();
}

Eu tentei várias maneiras de estruturar o meu jquery, a fim de chamar a ação, mas até agora, o único que posso começar a trabalhar é se eu codificar manualmente a matriz de objetos para a seqüência de URL da seguinte forma:

var url = "AddPerson?people%5B0%5D.TempId=9FBC6EF8-67DB-4AB4-8FCE-5DFC0F2A69F9&people%5B0%5D.ReadOnly=true&people%5B0%5D.Name=Bob+Jones&people%5B1%5D.TempId=9FBC6EF8-67DB-4AB4-8FCE-5DFC0F2A6333&people%5B1%5D.ReadOnly=false&people%5B1%5D.Name=Mary+Jones #peopleDiv";
$("#peopleDiv").load(url, updatePeopleDiv);

opeople%5B1%5D.ReadOnly=false é a versão codificada dopeople[1].ReadOnly=false

Eu tentei outras coisas como:

var url = "AddPerson #peopleDiv";
var people = [];
people.push({'[0].TempId': '<valid guid>', '[0].ReadOnly': true, '[0].Name': 'Bob Jones' });
$("#peopleDiv").load(url, people, updatePeopleDiv); // nope
$("#peopleDiv").load(url, $.param(people, false), updatePeopleDiv); // nada
$("#peopleDiv").load(url, $.param(people, true), updatePeopleDiv); // nyet

Eu também tentei modificar o acima, envolvendo as pessoas [] dentro de um objeto:var data = { arr: people } e depois tentar enviar issodata objeto de várias maneiras. Todas as formas (além daquelas que consegui trabalhar codificando manualmente) resultam em um dos três resultados:

Nenhuma ação de controlador chamada (incompatibilidade entre como ela é definida e como eu a chamei)A ação do controlador é chamada mas param é nulaA ação do controlador é chamada e o número correto de elementos do objeto na matriz MAS nenhum dos valores reais desses objetos é transferido (portanto, tenho uma matriz de objetos, todos com valores padrão).

Alguma sugestão?

questionAnswers(1)

yourAnswerToTheQuestion