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 :

double postback lors d'un clic sur le bouton


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut double postback lors d'un clic sur le bouton
    Salut,

    y a t-il une solution pour faire un double postback lors d'un clic sur un bouton?

    Merci d'avance

  2. #2
    Membre éprouvé Avatar de Joel Pinto Ribeiro
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 95
    Par défaut
    Je suis curieux de savoir le besoin qui nécessite un double postback

    Pourquoi as tu besoin de faire 2 postback consécutifs?

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut
    En fait,j'ai un bouton avec un évenement OnClick .Il me faut toujours que je clique 2 fois sur celui ci pour déclencher l'action de la fonction Button_OnClick (l'action ne peut pas etre déclenchée dés le 1er clic). Je ne sais pas pourquoi .J'ai essayé de faire une redirection en ajoutant cette ligne dans la fonction Button_OnClick :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Page.Response.Redirect(HttpContext.Current.Request.Url.ToString(), true);
    Ceci me donne un résultat mais m'a causé un autre problème .
    Y'a t-il donc une autre solution pour éviter ce double clic?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pas besoin de redirection normalement.
    Il y a quelque chose dans ton Page_Load qui pourrait faire que tu ne rentres pas dans le OnClick ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut
    Il n ' y a rien de spécial dans ma fonction load_page , juste un simple affichage d'un GridView

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Citation Envoyé par Wnejla Voir le message
    Je ne sais pas pourquoi
    Il faudrait que tu trouves car ce n'est pas normal. Peux-tu nous montrer un peu de code?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  7. #7
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut
    Enfin j'ai résolu ça ,j'ai utilisé un peu de ruse .En fait j'ai fait un deuxième clic implicite dans ma fonction Button_onClick de mon bouton "btn"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string scriptRefresh = "document.getElementById('" + btn.ClientID + "').click();";
     Page.ClientScript.RegisterStartupScript(typeof(Page), "refreshscript", scriptRefresh, true);
    Ceci cause un boucle infini suite à l'appel récursif de la fonction Button_onClick . Toujours on utilise de ruse ,j'ai inclut une variable session pour éviter ce boucle infini. Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     protected void Page_Load(object sender, EventArgs e)
            {
     if (!IsPostBack)
         {
        Session["refresh"] ="1";
        }
             }
     protected void Button_onClick(object sender, EventArgs e)
     {
    string ch=Session["refresh"]+"";
     if (ch.Equals("1"))
    {
     string scriptRefresh = "document.getElementById('" + btn.ClientID + "').click();";
    Page.ClientScript.RegisterStartupScript(typeof(Page), "refreshscript", scriptRefresh, true);
    Session["refresh"] = "0";
     }
     
     }
    J'avais pas d'autre solution

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/10/2010, 04h02
  2. recharger la page lors d'un clic sur un bouton radio
    Par enzostar dans le forum Langage
    Réponses: 4
    Dernier message: 02/12/2009, 10h16
  3. Réponses: 1
    Dernier message: 25/10/2009, 13h39
  4. Réponses: 1
    Dernier message: 14/10/2009, 15h40
  5. Ouvrir 4 états lors d'un clic sur un bouton
    Par Seb33300 dans le forum WebDev
    Réponses: 8
    Dernier message: 28/01/2008, 15h53

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