Problème affichage UpdateProgress simultanément

Résolu
jdesbiey Messages postés 5 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 19 mai 2010 - 17 mai 2010 à 18:02
cs_gaudens Messages postés 8 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

5 réponses

jdesbiey Messages postés 5 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 19 mai 2010
19 mai 2010 à 09:37
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
3
jdesbiey Messages postés 5 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 19 mai 2010
18 mai 2010 à 09:48
Petite précision, le bloc contenant les widgets possède également un updatepanel, updateprogress.
Une idée pour résoudre mon problème??
0
jdesbiey Messages postés 5 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 19 mai 2010
18 mai 2010 à 11:37
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
0
jdesbiey Messages postés 5 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 19 mai 2010
18 mai 2010 à 17:12
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gaudens Messages postés 8 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 décembre 2014
6 juin 2011 à 12:50
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
0
Rejoignez-nous