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

136
Vistas
¿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 Respuestas
Responde la pregunta

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 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