ASP.NET control TextBox - Obtener el valor de texto predeterminado en el código detrás?

StackOverflow https://stackoverflow.com/questions/545596

  •  23-08-2019
  •  | 
  •  

Pregunta

Me han estado espiando el MSDN y no se puede ver una propiedad / método para cuadro de texto que le permite obtener el valor por defecto de texto que se encuentra en un campo; Quiero ser capaz de comparar la txtMyTextBox.Text actual al valor por defecto (como este pseudo código muestra):

var myValue = (String.Compare(txtMyTextBox.Text, txtMyTextBox.DefaultText) ? "" : txtMyTextBox.Text)

¿Es esto algo que existe en el control de ASP.NET? O estoy pidiendo demasiado? :)

Gracias por cualquier ayuda (como siempre)!

Pete

¿Fue útil?

Solución

No hay está construido en forma de recuperar el valor predeterminado de un cuadro de texto durante la devolución de datos.

Una opción sería utilizar ViewState para almacenar el valor durante el pageLoad inicial y recuperar desde allí durante la devolución de datos para hacer la comparación.

Otros consejos

Por DefaultText qué se refiere el texto inicial antes de editar?

declarar Tal vez esto en un / campo constante / etc en alguna parte, y establecer mediante programación en lugar de en el marcado - es decir, en la primera carga, txtMyTextBox.Text = defaultText; - luego sólo se puede comparar de nuevo para defaultText para rastrear los cambios

.

No hay ninguna propiedad "DefaultText" en un cuadro de texto (o cualquier otro control). Es probable que haya definido el valor por defecto a través de una cadena constante, por lo que sólo comparar la propiedad de texto a la cadena constante.

La única propiedad que puede comprobar es la propiedad Text. Si es necesario comparar un valor original, entonces sería mejor para almacenar que, como tal vez un campo o una sesión variable oculta. A continuación, puede comprobar esto en contra de cualquier cosa en la propiedad TextBox.Text.

Poner el valor original en un campo oculto o en estado de vista.

La clase TextBox sólo admite una propiedad .Texto, por lo que su valor "default" tendrá que ser almacenado en algún lugar antes de la primera representación de la página, de modo que se puede comprobar la propiedad .text del cuadro de texto cuando la página se devuelve. Este valor "default" podría ser almacenado en una cookie (si es lo suficientemente pequeño), en el ViewState de la página, en un campo de formulario oculto en la página, o incluso en el estado de la aplicación o sesión.

Cuadro de texto no tiene una propiedad DefaultText, así que estoy confundido. ¿Cómo está configurando un valor de texto por defecto? Si se acaba de colocarlo en la es decir código.

<asp:TextBox ...>Default Value</asp:TextBox>

A continuación, será el valor de la propiedad .Texto.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top