TransWikia.com

Paso de valores entre paginas razor, asp.net Core 2.2

Stack Overflow en español Asked by ignacio blanco gonzalez on December 9, 2021

estoy haciendo una pagina con asp.net 2.2 y c#. tengo 3 paginas Razor.
Una con un formulario y otras dos, una con un buscador de personas y otra con un buscador de actividades.
Mediante un botón desde el formulario redirecciono a las otras dos.
Lo que no soy capaz es pasar los valores(mediante un boton de seleccion) nombre y edad de la pagina de personal y lo mismo con la actividad y el numero de horas a la semana.
Tanto la de personal como de la de actividades son clases sencillas que traen los datos de base de datos sql(para esto no tengo problemas).
he intentado pasar el ID con:

 <a asp-route-id="@item.Id"  asp-page="Formulario" class="btn btn-success btn-sm">Selecionar</a>

pero cuando viene el de personal se borra el de actividades y viceversa.

podeis echarme una mano? o decirme por donde puedo tirar? soy nuevo en esto y tengo pocos recursos.
muchas gracias.
un saludo

One Answer

Para recibir mas de un dato analicemos

Anchor Tag Helper in ASP.NET Core

Veras que si usas el asp-route-{value} solo podrias enviar un unico dato, aunque si puede redefinir el nombre como ser asp-route-edad, pero entiendo sera solo uno para que arme una url como ser

/Controller/Action/{edad}

Ahora si tienes algo como esto

public async Task<IActionResult> ActionName(int edad, string nombre)
{ 
   //codigo
}

deberias evluar usar asp-all-route-data al cual le asignas un dictionary

@{
   var parms = new Dictionary<string, string>
            {
               { "nombre", item.Nombre },
               { "edad", item.Edad }
            };
 }

 <a asp-all-route-data="parms"  asp-page="Formulario" class="btn btn-success btn-sm">Selecionar</a>

asi la url se arma pasando los datos

 /Controller/action?nombre=Nombre&edad=Edad

Model Binding mapeara los nombres de a url con los parametros del action

Answered by Leandro Tuttini on December 9, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP