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

164
Visualizações
Envíe datos desde el controlador a la vista usando DTO y API en ASP.NET MVC

Tengo un controlador que envía una lista de elementos a la API y luego obtengo la respuesta del elemento, lo que significa que voy a recibir, por ejemplo, si el elemento no se encontró o no es válido, ¡funciona bien! ! pero me gustaría saber cómo puedo enviar la lista de respuesta automática a una vista desde mi controlador y qué necesito agregar en la vista.

DTO

 public class ReceivedItemsRequest { public List<string> Items { get; set; } } public class ReceivedItemsResponse { public bool HasErrors { get; set; } public List<ReceivedItemResponse> ItemResponses { get; set; } = new List<ReceivedItemResponse>() ; } public class ReceivedItemResponse { public string Barcode { get; set; } public string ErrorMsg { get; set; } } }

Controlador

 [HttpPost] public async Task<ActionResult> Received(List<string> itemsList) { try { var dtoRequest = new ReceivedItemsRequest(); var dtoResponse = new ReceivedItemsResponse(); dtoRequest.itemsList= itemsList; dtoResponse = await API.Post<ReceivedItemsResponse, ReceivedItemsRequest>($"items/", dtoRequest); return View(dtoResponse); ---> this part I'm not sure how to send the list and what I need to add in the view or if I need to create a view model? }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

A partir de su código, descubrí que está devolviendo un solo registro, no una Lista en el controlador. Entonces, si el valor de retorno de su API es un registro único, lo enviará a la Vista como se muestra a continuación:

Su controlador:

 [HttpPost] public async Task<ActionResult> Received(List<string> itemsList) { ... dtoResponse = await API.Post<ReceivedItemsResponse, ReceivedItemsRequest>($"items/", dtoRequest); return View(dtoResponse); }

Tu vista:

 @model Application.ReceivedItemsResponse @{ ViewBag.Title = "Received Items Response"; } ...HTML Code on View here...

si está esperando una lista como respuesta, entonces en su vista tendría:

 @model IEnumerable<Application.Models.ReceivedItemsResponse> @{ ViewBag.Title = "Index Item Response"; } ...HTML Code Block here ....

Tenga en cuenta que su controlador no cambia siempre que pase un solo registro o una lista, pero su vista sí lo hace.

about 4 years ago · Juan Pablo Isaza 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