¿Cómo paso esta matriz js a mi controlador MVC 3?
Estoy obteniendo valores nulos en el controlador. No estoy seguro de lo que me estoy perdiendo.
Tengo una cuadrícula donde tengo una lista de invitados (con nombre y correo electrónico) donde el usuario selecciona invitado por casilla de verificación.
Luego leo el nombre y los correos electrónicos de los contactos seleccionados y construyo la matriz js. Entonces esta matriz se pasa aMVC 3 controller
.
ódigo @JS:
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; }
}
Necesito convertir explícitamente js array a objeto json para serializarlo?