ASP.NET Core 3.1: POST-REDIRECT-GET: Pasando parámetros.
Estoy intentando implementar la técnica POST-REDIRECT-GET donde envío un string JSON a mi método OnPost Razor. Esto redirige al método OnGet que recibe ese parámetro string. ¿Cómo puedo ocultar este parámetro de entrada para mi método OnGet?
Editar: Intenté usar ViewData pero el valor siempre es nulo en mi método OnGet incluso cuando lo configuré antes de redireccionar.
public async Task
{
TempData[“InputJSON”] = input_JSON;
return RedirectToPage(“GetData”);
}
public async Task
{
string tempData = TempData[“InputJSON”] as string;
//hacer algo con el string;
}
Hago post del formulario en mi javascript y cuando se abre la nueva ventana, veo el input_string en mi URL. ¿Cómo puedo pasar parámetros entre métodos?
davy.ai
Puede utilizar el diccionario TempData para pasar datos entre métodos.
En su método
OnPostData
, puede asignar la cadenainput_JSON
al diccionarioTempData
:csharp OnPostData(string input_JSON)
public async Task
{
TempData["InputJSON"] = input_JSON;
return RedirectToPage("GetData");
}
Luego, en su método
OnGetGetData
, puede recuperar la cadenainput_JSON
del diccionarioTempData
:csharp OnGetGetData()
public async Task
{
string tempData = TempData["InputJSON"] as string;
//hacer algo con la cadena
}
De esta manera, puede pasar la cadena
input_JSON
entre métodos sin que sea visible en la URL.