Soy nuevo en desarrollo, quiero mostrar el mensaje de alerta al hacer clic en el botón después de eso, quiero redirigirlo en otra página. mi código de botón es el siguiente:

 protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
    Response.Write("<script type='text/javascript'> alert('Please wait for approval!');</script>");
                Response.Redirect("~/profile/scrapbook.aspx?uid=" + Request.QueryString["uid"], false);
}

En este caso, la alerta no funciona. Si elimino el Response.Redirect, funcionará correctamente.

Sugiérame cómo llamar al mensaje de alerta después de esa redirección en otra página.

0
Amod 11 jul. 2011 a las 17:48

3 respuestas

La mejor respuesta

Está mezclando el lado del servidor y el código del lado del cliente.

El Response.Redirect("~/profile/scrapbook.aspx?uid= es del lado del servidor y la Alerta no esperará la acción del usuario para ejecutarlo ...

Lo que necesitará es redirigir en Javascript o usar algo más que una Alerta para el mensaje.

Solución 1

Muestra un mensaje de alerta en Javascript (lado del cliente) cuando el usuario presiona OK, usted hace una redirección en Javascript.

Solución 2

Muestra un mensaje en HTML con un botón en ASP con un evento que hará una llamada al servidor y redirigirá a su usuario a la página que desee.

1
Patrick Desjardins 11 jul. 2011 a las 13:51

No use Response.Write para representar su JavaScript. Utilice RegisterClientScriptBlock o RegisterStartupScript en su lugar.

Su ejemplo debería usar RegisterStartupScript, ya que está ejecutando el script de ejecución, y no Declaraciones de funciones.

0
Kirill 11 jul. 2011 a las 13:56

Agregue su script de esta manera:

 const string scriptString = "<script type='text/javascript'> alert('Your friend request sent to the user! Please wait for approval!');</script>";
                ClientScriptManager script = Page.ClientScript;
                script.RegisterClientScriptBlock(GetType(), "randomName", scriptString);
1
Kimtho6 11 jul. 2011 a las 13:55