Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

135
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda