Como passo esta matriz js para o meu controlador MVC
Estou recebendo valores nulos no controlador. Não tenho certeza do que estou perdendo.
Tenho uma grade na qual tenho uma lista de convidados (com nome e email) em que o usuário seleciona convidado pela caixa de seleçã
Em seguida, leio o nome e os e-mails dos contatos selecionados e construo o array js. Então essa matriz é passada paraMVC 3 controller
.
JS code:
var name ='', email='';
var guest = new Array();
var guests = new Array();
$('.CBC').each(function () { //loop grid by checkbox class
if (this.checked) {
name = GetSelectedName();
email = GetSelectedEmail();
guest = { 'Email': email, 'Name': name };
guests.push(guest);
}
});
$.ajax({
type: "POST",
url: GetURL(),
data: guests,
dataType: "json",
success: function (res) {
//do something
}
});
Controlador
[HttpPost]
public ActionResult AddGuests(List<SelectedGuest> guests)
{
GuestService svc = new GuestService();
//do something with guests
//But Name and Email of all items in guests are null!!!
}
public class SelectedGuest
{
//represent the email columns of the contact grid
public string Email { get; set; }
//represent the Name column of the contact grid
public string Name { get; set; }
}
Preciso converter explicitamente o array js para o objeto json para serializá-l