Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
ASP NÚCLEO JSON OBJETO NULL o COUNT 0

Estoy tratando de enviar una lista de valores de Vista a Controlador. Probé muchas soluciones de Internet pero no tuve éxito.

My View HTML Table lista de datos enviados al controlador a través de JSON, pero la lista está vacía incluso cuando uso JSON.stringify

Aquí está mi código

JavaScript:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script> <script type="text/javascript"> $("body").on("click", "#btnSave", function () { //Loop through the Table rows and build a JSON array. var customers = new Array(); $("#tblCustomers TBODY TR").each(function () { var row = $(this); var customer = {}; //skill.skill_name = row.find("TD").eq(0).html(); customer.CNIC = row.find("TD").eq(1).html(); customers.push(customer); }); console.log(customers); console.log(JSON.stringify(customers)); //Send the JSON array to Controller using AJAX. $.ajax({ type: "POST", //traditional: true, url: "/Admin/Reconcile/Customers", contentType: "application/json; charset=utf-8", data: JSON.stringify(customers), dataType: "json", success: function (r) { alert(r + " record(s) inserted."); location.reload(); } }); }); </script>

Acción del controlador:

 public JsonResult Customers(List<String> customers) { }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En primer lugar, debe crear un modelo como este:

 public class Customer { public string CNIC { get; set; } }

Luego, dado que pasa datos de tipo json en ajax, debe usar [FromBody] en acción:

 public JsonResult Customers([FromBody]List<Customer> customers) { }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Está enviando una matriz de objetos, por lo que para que el enlazador de modelos funcione, debe aceptar una Lista de SomeModel, donde SomeModel debe tener una propiedad CNIC. Consulte la documentación aquí https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api sobre cómo se vinculan los objetos .

Así que estás enviando esto:

 [ { "CNIC":"somevalue", "CNIC":"somevalue" } ]

Y está tratando de vincularlo a una Lista de cadenas y no sucederá. Intente vincularlo con la Lista de SomeModel:

 public class SomeModel { public string CNIC { get; set; } }

Pruebe también este atributo [IgnoreAntiforgeryToken] encima de su acción. Si funciona, debe enviar el token antifalsificación con la solicitud posterior.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda