none
postback en un textbox c# webforms RRS feed

  • Pregunta

  • Saludos

    Presento un problemas podrían  ayudarme por favor verán:

    lo que estoy tratando es de ponerle a un textbox en la propiedad text="0" ose un cero cuando el textbox se quede vació, al comienzo de la aplicación lo trae el cero pero cuando pierde el foco y se queda vació no lo vuelve a colocar.

    me imagino es porque no se produce un postback para que se realice, como puedo obtener ese postback cuando presione tab y pase al siguiente textbox lo realice y automáticamente le ponga el cero si esta vació.

    este es el código que realice:

    if (String.IsNullOrWhiteSpace(TxtCantidad.Text))
                {

                    TxtCantidad.Text = "0";

                    return;

                }

    lo coloque el "Page_load", tambien en el "Texchange"  y puse la propiedad del textbox Autopostback en true.

    y no funciona cuando paso con tab al siguiente textbox.

    que debo hacer por favor.

    tengo varios dias con este problema.

    domingo, 5 de abril de 2020 23:31

Respuestas

  • hola

    Puede que no este detectando el cambio por eso no lanza el evento TextChanged o puede que no asignes el evento

    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"  ontextchanged="TextBox1_TextChanged">

    valida que este asociado

    No evaluaste realizar esto que describes usando codigo cliente usando javascript?

    podrias asignar el onchange que es un evento en el cliente

    <asp:TextBoxID="TextBox1" runat="server" onchange="Validar(this)" AutoPostBack="False"></asp:TextBox>

    entonces

    <script type="text/javascript">
    	functiont Validar(txt)
    	{
    		alert(txt.Value);
    		if(txt.Value == ''){
    		     txt.Value = '0';
    		}
    	}
    </script>


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta agustin173 lunes, 6 de abril de 2020 10:53
    lunes, 6 de abril de 2020 3:20

Todas las respuestas

  • hola

    Puede que no este detectando el cambio por eso no lanza el evento TextChanged o puede que no asignes el evento

    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"  ontextchanged="TextBox1_TextChanged">

    valida que este asociado

    No evaluaste realizar esto que describes usando codigo cliente usando javascript?

    podrias asignar el onchange que es un evento en el cliente

    <asp:TextBoxID="TextBox1" runat="server" onchange="Validar(this)" AutoPostBack="False"></asp:TextBox>

    entonces

    <script type="text/javascript">
    	functiont Validar(txt)
    	{
    		alert(txt.Value);
    		if(txt.Value == ''){
    		     txt.Value = '0';
    		}
    	}
    </script>


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta agustin173 lunes, 6 de abril de 2020 10:53
    lunes, 6 de abril de 2020 3:20
  • Gracias leandro me funciono a la perfeccion

    muchas gracias.

    • Marcado como respuesta agustin173 lunes, 6 de abril de 2020 10:52
    • Desmarcado como respuesta agustin173 lunes, 6 de abril de 2020 10:53
    lunes, 6 de abril de 2020 10:52
  • Hola

     

     

    Gracias por levantar tu consulta en los foros de MSDN. Cerraremos el Hilo, por ende si tiene alguna otra consulta por favor genera otra consulta para que la comunidad de foros te pueda asesorar.

     

    Siempre es un placer atender tus consultas!

     

    Gracias por usar los foros de MSDN.

     

    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    lunes, 6 de abril de 2020 14:02
    Moderador