2011-04-07 4 views
1

Je sais que c'est une question très commune, mais il semble que ma situation soit un peu typique.asp.net valeur de la zone de texte ne change pas

Je récupère la valeur à afficher sur un textbox au chargement de la page.

donc peu importe le nombre de chargement de la page j'obtiendrai la bonne valeur.

page_load() 
    { 
     TBName.Text = XYZObject.getName(); 
    } 

la chose est: le point d'arrêt Ce texte montre la valeur correcte, mais quand je continue et aller sur la page web, il montre à nouveau la valeur ancienne.

quel peut être le problème ???

Merci

+0

pouvez-vous coller ici le code html de cette zone de texte? –

+0

Tout d'abord - si quelque chose va être la même dans les chargements de pages, mettez-le dans Post.IsPostBack ... Dans le cas actuel - avez-vous un événement sur la zone de texte elle-même? – sajoshi

Répondre

3

La question est que la zone de texte était en lecture seule.

0

il peut y avoir une autre fonction comme « ClearFields() » qui déblaie la zone de texte. Ou getName renvoie la chaîne en premier, puis retourne vide pour effacer la zone de texte.

deux possibilités je suppose.

0

Si je comprends bien, la valeur reste la même sans débogage, mais il chages lors du débogage?
Poursuivez le débogage avec F10 et affichez TBName.Text dans la fenêtre Montres. Ensuite, vous pouvez voir exactement à quelle ligne de code la valeur revient en arrière.

5

Aucun @harish, votre situation n'est pas typique du tout. En fait, c'est la situation la plus courante dans le monde asp.net à mon avis.

Ce que vous avez ici est le cas lorsque vous appuyez sur le et le point d'arrêtViewState est chargé dire appliqué à l'état des commandes et vous avez la valeur correcte saisie par l'utilisateur. Ce que vous finissez avec - est la valeur que vous avez de nouveau assignée dans votre bloc de code sur PageLoad.

essayer ceci:

page_load() 
    { 
     if(!IsPostBack)   
      TBName.Text = XYZObject.getName(); 
    } 
Questions connexes