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

139
Views
¿Cómo pasar una lista de objetos en Razor a un controlador ASP.Net Core a través de ajax?

Tengo una llamada Ajax que tiene una lista de parámetros. Uno de ellos es una lista de objetos del Modelo. Tengo problemas para intentar preparar los datos para enviarlos al Controlador. Actualmente, es así:

 const result = await $.ajax({
 type: "POST",
 url: "/PayrollAudit/SaveFundFindings",
 data: {
 'fundFindingsGridRows': DATA,
 'revisionDateExists': @Model.revisionDateExists.ToString().ToLower(),
 'rev': @Model.rev.ToString().ToLower(),
 'deficiency': @Model.deficiency,
 'principalAndInterest': @Model.principalAndInterest,
 'newAudit': @Model.newAudit.ToString().ToLower(),
 'auditStartDate': moment('@Model.auditStartDate').format('MM/DD/YYYY'),
 'billingEntityFindingsTitle': '@Model.billingEntityFindingsTitle',
 'delinquency20': @Model.delinquency20,
 'billingEntityNo': '@Model.billingEntityNo',
 'revisionSentToFundsDate': moment('@Model.revisionSentToFundsDate').format('MM/DD/YYYY'),
 'V3FundOptions': @Model.V3FundOptions
 }
 });

Cuando se ejecuta esto, aparece el siguiente error en la consola de depuración del navegador:

Error de sintaxis no detectado: número inesperado (en PayrollAudit: 2617:66)

Así es como se ve el código en la consola:

ingrese la descripción de la imagen aquí

Controlador:

 public IActionResult SaveFundFindings(
 List<FundFindingsGridRow> fundFindingsGridRows,
 bool revisionDateExists,
 bool rev,
 bool settlement,
 decimal deficiency,
 decimal principalAndInterest,
 bool newAudit,
 DateTime auditStartDate,
 string billingEntityFindingsTitle,
 decimal delinquency20,
 string billingEntityNo,
 DateTime revisionSentToFundsDate,
 List<FundOption> V3FundOptions
 )
 {
 // Do things...
 }

Clase FundOption:

 public partial class FundOption
{
 public string ClientCode { get; set; }
 public string LvwColTitle { get; set; }
 public int ColOrder { get; set; }
 public string DbFieldName { get; set; }
}

Entiendo que usar @Model devolverá el nombre de la colección y no los objetos de la colección. Entonces, ¿qué debo hacer aquí para enviar correctamente estos datos al controlador?

almost 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como sugirió @Heretic Monkey en los comentarios, debe serializar la lista en JSON. Agregue @using System.Text.Json en su vue y luego use @Html.Raw(Json.Serialize(Model.V3FundOptions)) :

 const result = await $.ajax({
 type: "POST",
 url: "/PayrollAudit/SaveFundFindings",
 data: {
 'fundFindingsGridRows': DATA,
 'revisionDateExists': @Model.revisionDateExists.ToString().ToLower(),
 'rev': @Model.rev.ToString().ToLower(),
 'deficiency': @Model.deficiency,
 'principalAndInterest': @Model.principalAndInterest,
 'newAudit': @Model.newAudit.ToString().ToLower(),
 'auditStartDate': moment('@Model.auditStartDate').format('MM/DD/YYYY'),
 'billingEntityFindingsTitle': '@Model.billingEntityFindingsTitle',
 'delinquency20': @Model.delinquency20,
 'billingEntityNo': '@Model.billingEntityNo',
 'revisionSentToFundsDate': moment('@Model.revisionSentToFundsDate').format('MM/DD/YYYY'),
 'V3FundOptions': @Html.Raw(Json.Serialize(Model.V3FundOptions))
 }
});
almost 4 years ago · Santiago Trujillo 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!