none
problemas al refrescar la web RRS feed

  • Pregunta

  •  

    Voy a minimizar el código para que me puedan decir cual es mi problema

    Tengo dos TEXTBOX y un botón (trabajo en c# con webform)

    lo que hace mi programa es fácil escribo en el textbox1 y 2 algo y me muestra una etiqueta label con mensaje enviado y 

    si no escribo nada y apreto el botón muestra mensaje no enviado.

    Todo funciona de maravillas,

    El problema es cuando presiono refrescar en el navegador.

    • Por mas que no escriba nada en los textbox y presiono el boton
    • Pone la etiqueta de mensaje enviado porque el textbox mantiene los valores que escribí anteriormente 


    =============> en mi page_load escribo esto

    protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack) 
                {
                    TextBox1.Text = "";
                    TextBox2.Text = "";
                }
            }

    ===============> y en mi boton esto

            protected void Button1_Click(object sender, EventArgs e)
            {

                if (TextBox1.Text != string.Empty && TextBox2.Text != string.Empty)
                {

                    TextBox1.Text = "";
                    TextBox2.Text = "";
                    Label1.Text = "Mensaje enviado";

                }
                else {

                    Label1.Text = "Mensaje NO ENVIADO";
                    
                }

                   
    domingo, 4 de marzo de 2018 16:41

Respuestas

  • Probablemente el error está en tu interpretación de lo que hace el botón de "Refrescar". En realidad no es "Refrescar" sino "Volver a enviar al servidor o mismo que se envió la última vez". Entonces, si lo último que hiciste fue enviar al servidor un POST con los textbox rellenos, si pulsas "Refrescar" los vuelve a enviar rellenos, aunque en pantalla estén vacíos. Nótese que, por lo menos en Internet Explorer, de forma predeterminada te avisa y te pregunta si eso es de verdad lo que quieres hacer, antes de enviárselo al servidor.

    En tu caso concreto, deberías contestarle que "no", o si tienes el mensaje deshabilitado, entonces en lugar de "refrescar" lo que tienes que hacer es enviar un nuevo POST (pulsando el button1) para que transmita los textboxes vacíos.

    • Marcado como respuesta RivadeiroUno domingo, 4 de marzo de 2018 18:00
    domingo, 4 de marzo de 2018 16:47
    Moderador