Problème affichage UpdateProgress simultanément [Résolu]

Messages postés
5
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
19 mai 2010
- - Dernière réponse : cs_gaudens
Messages postés
9
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2014
- 6 juin 2011 à 12:50
Bonjour,

Ma page contient plusieurs widgets avec chacun un UpdatePanel, une action sur un des boutons du widget entraine son rafraichissement et l'affichage d'un updateProgress. Tout fonctionne bien lorsque je n'utilise qu'un updateprogress à la fois.

Lorsque j'actionne 2 widgets différent, lors du clic sur le deuxième widget, l'updateprogress du premier disparait et l'updateprogress du second apparait. Les actions sont néanmoins bien effectuées.

J'aimerai que lorsque je clique sur plusieurs widgets, tous les updateprogress concernés s'affichent.
Est ce possible? Si oui, comment?
Merci

Jean
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
5
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
19 mai 2010
3
Merci
Même si mon sujet n'a pas l'air d'intéresser grand monde, voici la réponse...
Oublier les files d'attentes puisque les actions côté serveurs sont malgrè tout effectuées et cela permet dans mon cas de garder les actions asynchrones de mes widgets!

var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(InitializeRequestHandler);
        prm.add_beginRequest(BeginRequestHandler);
 
        var updateProgressUpdating = new Array();
 
        function InitializeRequestHandler(sender, args) {
            var updateProgress = $("div#UpdateProgressWidgetPanel").parent();
            var index = 0
            for (i = 0; i < updateProgress.length; i++) {
                if (updateProgress[i].style.display == 'block') {
                    updateProgressUpdating.push(updateProgress[i]);
                }
            }
        }
 
        function BeginRequestHandler(sender, args) {
            for (i = 0; i < updateProgressUpdating.length; i++) {
                updateProgressUpdating[i].style.display = 'block';
            }
        }


($("div#UpdateProgressWidgetPanel").parent() : cette fonction permet d'atteindre le div généré à partir de l'updateProgress en html, explication : http://forums.asp.net/p/1426825/3183546.aspx)

Ce petit code permet de récupérer en JQuery tous les UpdateProgress des widgets de la page qui sont déjà affichés, de les stocker et d'en forcer l'affichage à chaque ouvelle requête. Dès que la dernière requête est terminée, ils disparaissent tous et toutes les actions ont été effectuées côté serveur...
Merci encore lutecefalco pour ton aide.

Jean

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jdesbiey
Messages postés
5
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
19 mai 2010
0
Merci
Petite précision, le bloc contenant les widgets possède également un updatepanel, updateprogress.
Une idée pour résoudre mon problème??
Commenter la réponse de jdesbiey
Messages postés
5
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
19 mai 2010
0
Merci
Pour faire plus simlpe et illustrer mon problème, récupérez le code ci-dessous :







protected void Button1_Click(object sender, EventArgs e)
{
// Introducing delay for demonstration.
System.Threading.Thread.Sleep(3000);
Label1.Text = "Page refreshed at " +
DateTime.Now.ToString();
}

protected void Button2_Click(object sender, EventArgs e)
{
// Introducing delay for demonstration.
System.Threading.Thread.Sleep(3000);
Label2.Text = "Page refreshed at " +
DateTime.Now.ToString();

}




UpdateProgress Tutorial

#UpdatePanel1, #UpdatePanel2 {
width:300px; height:100px;
}











UpdatePanel1






Panel1 updating...










UpdatePanel2






Panel2 updating....















Cliquez sur un des deux boutons et durant le rafarichissement, cliquez sur le deuxième bouton, l'updateprogress du premier s'arrête et l'autre démarre, j'aimerai que les deux continuent d'être affiché en même temps,
Merci...

Jean
Commenter la réponse de jdesbiey
Messages postés
5
Date d'inscription
mercredi 17 mai 2006
Statut
Membre
Dernière intervention
19 mai 2010
0
Merci
Voici un lien intéressant avec un script qui fonctionne dans quasiment tous les cas...

http://disturbedbuddha.wordpress.com...ous-postbacks/

Le problème est que les updateProgress ne s'affichent toujours pas, quelqu'un pourrait il m'aider à écrire en javascript l'affichage des updateprogress pour chaque widget qui va être rafraichis ou qui est en cours de refraichissement?
Merci
Commenter la réponse de jdesbiey
Messages postés
9
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
12 décembre 2014
0
Merci
Bonjour chers amis!

Je suis en train de créer pour le compte de la structure qui m'emploie une application. On me demande entre autres de faire afficher au fur et à mesure que l'utilisateur saisi, la liste en bas de la zone de texte des clients qui remplissent cette condition. Pour être plus clair, dans le champ du nom client par exemple, je dois afficher tous les noms respectant les lettres qu'il saisie afin de faciliter le choix à l'utilisateur.
Je l'ai fait en VB6 mais je ne sais pas comment le faire en ASP.NET.
Aidez moi si vous en avez une idée. Merci à tous
Commenter la réponse de cs_gaudens