Obtengo una matriz a través de un bucle y la paso a través de una llamada ajax a mi método c #, pero por alguna razón solo obtengo valores nulos en mi parámetro, pero aparece el recuento de la matriz. No estoy seguro de lo que estoy haciendo mal. Por ejemplo, la matriz antes de pasarla a través de ajax tendría un conteo de 3, cada clave se completaría con la información necesaria, pero cuando la paso a través de la llamada ajax y la depuro en VS, el parámetro para mi lista es nulo pero tiene un conteo ¿de 3?
let test = $('.divtest').map(function (index, element) { return { key1: $(element).closest('.testdiv')[0].id, key2: $(element).attr('id'), key3: $(element).attr('style') } }).get();Llamada Ajax
$.ajax({ cache: false, type: "POST", data: { test: test}, dataType: "json", url: "/controller/testhere", success: function (result) { alert('done'); } });Método C#
public JsonResult testhere(List<string> test) { //stuff return null; }su acción es una lista de cadenas pero los datos ajax no lo son. prueba estos datos
let test = [ "key1", "key2", "key3"]; ..... .ajax({ cache: false, type: "POST", data: { test: test}, dataType: "json", url: "/controller/testhere", success: function (result) { alert('done'); } });o tendrás que cambiar la acción
Crear modelo de vista
public class TestViewModel { public string Key1 {get; set;} public string Key2 {get; set;} public string Key3 {get; set;} }acción
public JsonResult testhere(TestViewModel test)