IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

TextBox.Text changé par l'utilisateur impossible à récupérer


Sujet :

ASP.NET

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut TextBox.Text changé par l'utilisateur impossible à récupérer
    Bonjour,

    j'ai un problème très ennuyeux.

    J'ai une classe héritant de DataGridColumn qui crée des cellulles personalisées dans mon datagrid.
    Dans ces cellulles, je load un control propre (acsx) où se trouve un TextBox.
    Quand dans la classe de ce control j'essaie de lire la valeur de la TextBox, elle ne garde jamais la valeur introduite par l'utilisateur.

    Par exemple, si je l'ai initialisée avec la valeur "bob" que l'utilisateur met "bill" et que je la lis au postback, il s'y trouvera la valeur "bob" !

    voici le code (employé au page_load) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                    this.savedValue = txEditChars.Text;
     
                    liNormalValue.Text = this.Value;
                    txEditChars.Text = this.Value;
    donc, dans mon exemple, this.savedValue vaudra "bob" même après que l'utilisateur y ait inscrit "bill".

    Que faire ?

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Parce que tu recharges ta textbox avec la valeur par défaut avant de lire la saisie utilisateur

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Parce que tu recharges ta textbox avec la valeur par défaut avant de lire la saisie utilisateur
    ??

    Y a aucune valeur mise à même la page aspx.
    Alors de quoi parles-tu ?

    Je sauve bien avant de changer le texte.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Points : 42
    Points
    42
    Par défaut
    Si tu fait une initialisation de ta textbox n'oublie pas de faire un "if (!IsPostBack) {...}" sinon en effet le load de la page va rechanger la valeur de la textbox avant de passer dans l'evenement. Ultraclassique.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    La datagrid où se trouve ce control n'est chargée qu'après postback alors je ne peux pas utiliser ce test pour éviter une initialisation.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Points : 42
    Points
    42
    Par défaut
    Le problème ne vient pas du DataGrid mais bien du UserControl. Dans le Page_Load du UserControl englobe ton initialisation dans le test if !IsPostback:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (!IsPostback)
    {
      this.savedValue = txEditChars.Text;
      liNormalValue.Text = this.Value;
      txEditChars.Text = this.Value;
    }

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/03/2012, 15h05
  2. textbox.Text.Replace ' par '' impossible
    Par beren.kei dans le forum Windows Forms
    Réponses: 3
    Dernier message: 24/06/2008, 14h41
  3. [POO] remplacer la valeur d'un objet text par celle entrer par l'utilisateur
    Par Shikamaru86 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/04/2007, 08h47
  4. récupérer un text entré par l'utilisateur
    Par jayjay.f dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 15/11/2006, 09h24
  5. comment bloquer l'agrandissement du texte par l'utilisateur
    Par toupiti dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/08/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo