ASP.NET TextBox contrôle - Obtenez la valeur de texte par défaut dans le code derrière?

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

  •  23-08-2019
  •  | 
  •  

Question

J'ai espionné le MSDN et ne peut pas voir une propriété / méthode pour TextBox qui vous permet d'obtenir la valeur par défaut du texte qui a été mis sur un champ; Je veux être en mesure de comparer la txtMyTextBox.Text actuelle à la valeur par défaut (comme dans le code psuedo montre):

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

Est-ce quelque chose qui existe dans le contrôle ASP.NET? Ou suis-je trop demander? :)

Merci pour toute aide (comme toujours)!

Pete

Était-ce utile?

La solution

Il n'y a pas construit de façon à récupérer la valeur par défaut d'un champ de saisie au cours de publication.

Une option serait d'utiliser ViewState pour stocker la valeur au cours de la PageLoad initiale et la récupération à partir de là pendant la postback pour faire la comparaison.

Autres conseils

Par DefaultText voulez-vous dire le texte initial avant l'édition?

déclarer Peut-être dans une constante / champ / etc quelque part, et le mettre programatically plutôt que dans le balisage - à savoir dans la première charge, txtMyTextBox.Text = defaultText; - puis plus tard, vous pouvez les comparer à nouveau defaultText pour suivre les changements

.

Il n'y a pas de propriété « DefaultText » sur une zone de texte (ou tout autre contrôle). Vous avez probablement défini la valeur par défaut par une chaîne constante, donc il suffit de comparer la propriété Text à cette chaîne constante.

La seule propriété que vous pouvez vérifier est la propriété Text. Si vous avez besoin de comparer une valeur d'origine alors vous mieux stocker que peut-être un champ caché ou variable session. Vous pouvez alors vérifier contre quoi que ce soit dans la propriété TextBox.text.

Mettre la valeur d'origine dans un champ caché ou viewstate.

La classe TextBox ne supporte que d'une propriété .Text, de sorte que votre valeur « par défaut » devra être stocké quelque part à l'avance de la première rendu de la page afin que vous puissiez vérifier la propriété .text de la zone de texte lorsque la page est réaffecté. Cette valeur « par défaut » pourrait être stockée dans un cookie (si elle est assez petit), dans le ViewState de la page, dans un champ de formulaire caché sur la page, ou même dans l'état de l'application ou de la session.

TextBox n'a pas de propriété DefaultText, donc je suis confus. Comment vous définissez une valeur de texte par défaut? Si vous mettez juste dans le i.e. de code.

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

Ensuite, ce sera la valeur de la propriété .Text.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top