Estoy obteniendo valores nulos en el controlador. No estoy seguro de qué me estoy perdiendo.¿Cómo paso esta matriz js a mi controlador MVC 3?
Tengo una cuadrícula donde tengo una lista de invitados (con el nombre & 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. Luego esta matriz se pasa al MVC 3 controller
.
có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; }
}
¿Es necesario convertir explícitamente matriz js al objeto JSON serializar?
¿Qué se especifica en 'id' cuerda? –
Id es una cadena. Se pasa correctamente. Estoy eliminando el parámetro Id para mayor claridad. – kheya