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 :

Traitement en cours.


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Par défaut Traitement en cours.
    Bonjour!

    J'ai une application web en C# 2.0 qui fait une opération assez importante en terme de temps d'exécution.

    Quand j'exécute l'application, la page reste blanche tant qu'elle n'est pas terminée.
    Lorsqu'elle est terminé, le resultat est affiché comme prévue.

    J'aimerais être en mesure d'affiche dans le milieu de la page (ou près de!) un message:
    "Traitement en cours..." ou une progress bar...
    Lorsque le traitement est terminé, le message s'efface et la gridview devra s'afficher.

    J'ai essayé avec un Multiview, mais je suis pas sur de le manipulier correctement.
    J'ai 2 View:
    view1: Dans lequel j'aimerais que le message s'affiche
    view2: Dans lequel le résultat s'affiche.

    Mais la page reste blanche tant qu'elle n'est pas terminée.

    Comment dois-je procéder?
    Les multiview sont la bonne chose à utiliser?

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Regarde du coté de l'AJAX

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Regarde du coté de l'AJAX
    Je connais, mais je ne peux pas l'utiliser!
    Le client veut pas payer pour ça...


    Info supplémentaires...
    Si j'utilise un multiview, j'aimerais dans la view1 créer un progress bar simple (avec une <table....>)
    J'aimerais implanter ceci:
    http://www.codeproject.com/aspnet/WebProgressBar.asp

    Mais il me manque le contrôle de la view...

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 30
    Par défaut
    Alors, je sais pas si ce que je vais te dire va beaucoup t'aider mais bon on essaye
    Ton traitement se lance directement quand tu load la page?
    Si tu lances une fonction par exemple, tu peux juste mettre un label au milieu de ta page dont tu mets la propriété visible à true(dans ta fonction) pendant l'execution. Quand le déroulement est terminé tu le remet à false.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Par défaut
    Citation Envoyé par mikawell3000 Voir le message
    Alors, je sais pas si ce que je vais te dire va beaucoup t'aider mais bon on essaye
    Ton traitement se lance directement quand tu load la page?
    Si tu lances une fonction par exemple, tu peux juste mettre un label au milieu de ta page dont tu mets la propriété visible à true(dans ta fonction) pendant l'execution. Quand le déroulement est terminé tu le remet à false.
    J'ai essayé avec un multiview, mais ça ne semble pas marcher.
    Je dois faire quelque chose de pas correcte surement...

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par Minigo Voir le message
    J'ai essayé avec un multiview, mais ça ne semble pas marcher.
    Je dois faire quelque chose de pas correcte surement...
    Sans doute parce que tant que le traitement n'est pas terminé, la page n'est pas envoyée au navigateur.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  7. #7
    Membre confirmé Avatar de dupin40
    Profil pro
    Inscrit en
    Août 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 102
    Par défaut
    Tu as essayer de créer une webform qui a ton message d'attente et ensuite dans son load tu fais un redirect vers une autre webform qui contient ton traitement long.
    Ainsi tant que le traitement long n'est pas terminé tu auras ta fenêtre d'attente.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 8
    Par défaut
    Citation Envoyé par dupin40 Voir le message
    Tu as essayer de créer une webform qui a ton message d'attente et ensuite dans son load tu fais un redirect vers une autre webform qui contient ton traitement long.
    Ainsi tant que le traitement long n'est pas terminé tu auras ta fenêtre d'attente.
    Je pourrai avoir le contrôle de la fenêtre qui affiche?
    Exemple, affcher un text qui affiche le % complété.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Citation Envoyé par Minigo Voir le message
    Je pourrai avoir le contrôle de la fenêtre qui affiche?
    Exemple, affcher un text qui affiche le % complété.
    ça ne marchera pas je pense. Le mieux, si tu ne peux pas faire d'ajax, est sans doute de lancer ton traitement long dans un thread dédié puis de rediriger vers une page d'attente qui se rafraichie régulièrement (avec un ptit bout de javascript tout simple). Cette page peut vérifier l'état d'avancement de la tâche et l'indiquer à l'utilisateur.

    Attention si ton appli est trés sollicitée, beaucoup d'utilisateurs, alors il faudra limiter le nombre de threads simultanés sans passer par le thread pool (car les requêtes asp.net sont traitées par des threads du pool justement).

Discussions similaires

  1. Affichage traitement en cours
    Par mfmf99 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/01/2009, 17h12
  2. Annulation d'un traitement en cours
    Par FST_PFE dans le forum Général VBA
    Réponses: 1
    Dernier message: 04/12/2008, 13h14
  3. Réponses: 4
    Dernier message: 28/08/2007, 17h44
  4. Indicateur traitement en cours
    Par elendila dans le forum Access
    Réponses: 2
    Dernier message: 29/08/2006, 11h43
  5. Réponses: 8
    Dernier message: 25/11/2005, 18h38

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