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 :

AutoPostBack et focus


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Par défaut AutoPostBack et focus
    Bonjour,

    dans un formulaire, j'ai certaines textbox dont la propriété AutoPostBack est à true, car je dois faire un contrôle en code-behind. Le souci c'est qu'avec ce postBack, on perd le focus et donc la continuité du formulaire, d'ailleurs il y a un temps de latence très genant d'environ une seconde. Peut-on éviter ça sans forcément passer par du JavaScript ?

    Merci !

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Par défaut
    Citation Envoyé par Ashura95 Voir le message
    Bonjour,

    dans un formulaire, j'ai certaines textbox dont la propriété AutoPostBack est à true, car je dois faire un contrôle en code-behind. Le souci c'est qu'avec ce postBack, on perd le focus et donc la continuité du formulaire, d'ailleurs il y a un temps de latence très genant d'environ une seconde. Peut-on éviter ça sans forcément passer par du JavaScript ?

    Merci !
    le temps de latence est surement du au debugger dans Visual studio.

    utilises tu une méthode dépendante pour chaque textbox ?

    Ne peux tu peux pas utiliser les validators ?

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Par défaut
    J'utilise en fait des requiredFieldValidators sur ces TextBox, tout en utilisant des méthodes en code-behind sur les évènements TextChanged des TextBox en question.
    J'y suis contraint pour comparer la valeur de ces champs de saisie entre eux, et j'utilise la propriété isValid des requiredFieldValidator dans ces méthodes (un tantinet barbare, je l'avoue ).

    Ça fonctionne très bien, hormis le fait que ce postBack entraîne la perte du focus sur le contrôle concerné, ce qui oblige l'utilisateur à cliquer de nouveau sur le formulaire.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Par défaut
    Citation Envoyé par Ashura95 Voir le message
    J'utilise en fait des requiredFieldValidators sur ces TextBox, tout en utilisant des méthodes en code-behind sur les évènements TextChanged des TextBox en question.
    J'y suis contraint pour comparer la valeur de ces champs de saisie entre eux, et j'utilise la propriété isValid des requiredFieldValidator dans ces méthodes (un tantinet barbare, je l'avoue ).

    Ça fonctionne très bien, hormis le fait que ce postBack entraîne la perte du focus sur le contrôle concerné, ce qui oblige l'utilisateur à cliquer de nouveau sur le formulaire.
    Pour faire une comparaison utilise un CompareValidator, ou alors utilise un updatepanel.

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 133
    Par défaut
    Tout paraît si simple avec ASP.Net ! Merci, la m2thode Focus() convient très bien ici !
    En fait je voulais éviter de cumuler les vaildateurs, et éviter d'utiliser les updatesPanels que je n'apprécie pas trop...!

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 31
    Par défaut
    Citation Envoyé par Ashura95 Voir le message
    Tout paraît si simple avec ASP.Net ! Merci, la m2thode Focus() convient très bien ici !
    En fait je voulais éviter de cumuler les vaildateurs, et éviter d'utiliser les updatesPanels que je n'apprécie pas trop...!
    ^^

    Mais tu peux quand meme mettre un CompareValidator pour éviter d'envoyer des données déja faussées, ca te soulagera le code-behind lors de la vérification!!

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Par défaut
    Citation Envoyé par Ashura95 Voir le message
    Bonjour,
    il y a un temps de latence très genant d'environ une seconde. Peut-on éviter ça sans forcément passer par du JavaScript ?
    Ce temps est l'aller-retour serveur. Si tu es obligé de faire des validations coté serveur, c'est obligatoire. Un updatePanel ou une requête ajax te ferait gagner un peu de temps, mais il y aura toujours un petit délai.

    on perd le focus et donc la continuité du formulaire
    c'est lié au postback. Tu pourrais éventuellement le gérer coté serveur avec par exemple Textbox.Focus().

    Pour continuer sur l'idée de eGmBe, ne peux pas utiliser des validateurs ?
    une autre possibilité est de faire toutes les vérifs lors du post du formulaire, pas à chaque changement de valeur des champs.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2011, 18h39
  2. Réponses: 2
    Dernier message: 20/05/2011, 10h53
  3. [C#][1.1] focus et autopostback
    Par fumesec dans le forum ASP.NET
    Réponses: 9
    Dernier message: 14/11/2006, 16h23
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. focus en C
    Par killpilot dans le forum C
    Réponses: 8
    Dernier message: 19/04/2002, 19h19

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