Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

176
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!