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

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

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