none
Charger une webpart après la page RRS feed

  • Question

  • Bonjour,

     

    J'ai developpé une webpart qui est assez longue à charger puisqu'elle cherche des informations dans des milliers de listes.

     

    Je voudrais savoir si il existe un moyen de charger le contenu de cette webpart après que la page ce soit affichée pour pouvoir avoir accès au reste de la page pendant que la webpart se charge.

     

    Merci.

    mercredi 31 octobre 2007 11:45

Toutes les réponses

  • Bonjour

     

    De prime abord je vous orienterais vers l'utilisation d'AJAX dans votre webpart afin de permettre l'attente de son rendu sans bloquer le reste du site.

     

    Vous pourriez aussi carrément déporter votre code dans une page séparée et utiliser des iframes par exemple.

     

     

    mercredi 31 octobre 2007 14:19
  • Merci.

    Faute de temps pour recoder la webpart j'ai effectivement choisi la solution de l'iframe.

    Cela résoud mon problème mais en crée un autre !

     

    J'ai crée une page toute simple avec la webpart dessus. C'est cette page que j'affiche via un iframe. Je voudrais uniquement avoir un texte de type "Chargement en cours" sur cette page avant l'affichage de la webpart car sinon l'iframe est vide.

     

    Malheureusement j'ai testé plusieurs techniques "classiques" et rien ne fonctionne. Cela est il du à SharePoint ?

    Car en fait j'ai l'impression qu'il charge la webpart avant meme d'afficher la page...

    Y a t il une solution pour cela ?

     

    Merci d'avance.

     

    vendredi 23 novembre 2007 10:59
  • La webpart est générée côté serveur, elle sera donc déjà chargée lors de l'affichage de la page.

     

    P-e que par DHTML cela serait plus simple en affichant simplement un bloc div avec votre message d'attente et votre iframe en dessous masquée au début, et lors du bon chargement de la page, masquer le div et afficher l'iframe.

    mercredi 28 novembre 2007 09:53
  • La proposition initiale de Gat est à mon avis la meilleure façon de s'y prendre. L'Iframe risque de vous poser problème si vos contextes de sécurité sont différents sur les deux pages (notamment, vous pourriez avoir du mal à agir sur le div depuis une des pages, ou bien à identifier que son chargement est fini de l'autre).

     

    Sans forcément passer par Ajax (mais l'idée reste la même), vous pouvez utiliser un XMLHttpRequest pour obtenir le résultat de manière asynchrone. C'est de cette manière que je réalise des affichages différés. Le code retournant les données peut être réalisé par un webservice déployé sur SharePoint, qui retourne directement le script HTML à insérer dans le div. En guide de message d'attente, n'hésitez pas à réutiliser le gif animé que SharePoint affiche durant les opérations longues comme la création de sites.

    mercredi 28 novembre 2007 22:56
    Modérateur