es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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 OnPostData(string input_JSON)
{
TempData[“InputJSON”] = input_JSON;
return RedirectToPage(“GetData”);
}

public async Task OnGetGetData()
{
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?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puede utilizar el diccionario TempData para pasar datos entre métodos.

    En su método OnPostData, puede asignar la cadena input_JSON al diccionario TempData:

    csharp
    public async Task OnPostData(string input_JSON)
    {
    TempData["InputJSON"] = input_JSON;
    return RedirectToPage("GetData");
    }

    Luego, en su método OnGetGetData, puede recuperar la cadena input_JSON del diccionario TempData:

    csharp
    public async Task OnGetGetData()
    {
    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.

Comments are closed.