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 :

Update Panel et Repeater


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 2
    Par défaut Update Panel et Repeater
    Bonjour

    Je rencontre un souci sur ma page. L'objectif de cette page est de faire des recherches en base de donnée dans un formulaire et d'afficher les résultats.

    Ma page qui contient un Update Panel (elle "hérite" d'une master page). Cet update panel contient lui même des contrôles ( dropdownlist, listbox, bouton, etc) ainsi qu'un asp:panel de résultat qui contient des repeater pour l'affichage des données

    Le problème que je rencontre est que lorsque l'utilisateur fait une recherche qui lui rapporte 500 résultats ( le max autorisé), ces résultats sont bien affichés. Seulement quand l'utlisateur commence une nouvelle recherche et qu'il modifie un dropdownlist par exemple ou un autre contrôle, la page met du temps à rafraichir. Il y a un postback complet de la page et le recalcul des repeater prend un temps non négligeable, phénomène qui ne se produit pas quand les repeater contiennent peu de données.

    Existe-t-il une méthode qui empêche le postback de recalculer le contenu des repeater ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Dans ton code behind tu peux utiliser les propriétés "Page.IsCallback" ou "Page.IsPostback" pour faire un traitement différent...

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2016
    Messages : 2
    Par défaut
    Juste pour préciser un peu plus mon problème ,lorsque l'utilisateur change la valeur d'un dropdownlist, pour une certaines valeur choisi, cela déclenche l'apparition d'un autre dropdownlist avec d'autre valeur ( categorie / sous categorie) . Quand on a déjà fait une recherche avec des résultats conséquents, l'utilisateur

    Je ne connais pas bien ASP.Net mais je ne reconstruis pas les repeater (leur contenu) dans le code behind cela est fait automatiquement.

    Aujourd'hui dans le page_load, il y a un test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (!Page.IsPostback){
    ..//initialise les controles
    }
    else{
      //ne fait rien qui concerne les repeater
    }
    Et c'est tout. Du coup je ne vois pas comment utiliser Page.IsCallback()

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Citation Envoyé par ashema59 Voir le message
    Bonjour

    Je rencontre un souci sur ma page. L'objectif de cette page est de faire des recherches en base de donnée dans un formulaire et d'afficher les résultats.

    Ma page qui contient un Update Panel (elle "hérite" d'une master page). Cet update panel contient lui même des contrôles ( dropdownlist, listbox, bouton, etc) ainsi qu'un asp:panel de résultat qui contient des repeater pour l'affichage des données

    Le problème que je rencontre est que lorsque l'utilisateur fait une recherche qui lui rapporte 500 résultats ( le max autorisé), ces résultats sont bien affichés. Seulement quand l'utlisateur commence une nouvelle recherche et qu'il modifie un dropdownlist par exemple ou un autre contrôle, la page met du temps à rafraichir. Il y a un postback complet de la page et le recalcul des repeater prend un temps non négligeable, phénomène qui ne se produit pas quand les repeater contiennent peu de données.

    Existe-t-il une méthode qui empêche le postback de recalculer le contenu des repeater ?
    J'ai eu le même problème avec un repeater (non placé dans un update pannel) qui fait déconnecter l'application lorsqu'il contient trop de lignes et qu'il doit être reconstruit dynamiquement...) Ma solution dans l'urgence a été de modifier ma requête en base de données pour affiner les filtres (évidemment ceci ne peut être que temporaire...).
    Pour toi, il me semble que le prblème est que ton repeater EST placé dans le update pannel... Ne peux tu pas le placer dans la page ? Le rafraichissement n'est pas le même que pour le pannel... Peut-être que ce sera suffisant ? (j'avoue que je ne suis pas experte ! Je teste juste et des fois, ça marche :-) En tout cas bon courage et si tu trouves mieux, partages ! Merci !

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Par défaut
    Citation Envoyé par cdulsd Voir le message
    J'ai eu le même problème avec un repeater (non placé dans un update pannel) qui fait déconnecter l'application lorsqu'il contient trop de lignes et qu'il doit être reconstruit dynamiquement...) Ma solution dans l'urgence a été de modifier ma requête en base de données pour affiner les filtres (évidemment ceci ne peut être que temporaire...).
    Pour toi, il me semble que le prblème est que ton repeater EST placé dans le update pannel... Ne peux tu pas le placer dans la page ? Le rafraichissement n'est pas le même que pour le pannel... Peut-être que ce sera suffisant ? (j'avoue que je ne suis pas experte ! Je teste juste et des fois, ça marche :-) En tout cas bon courage et si tu trouves mieux, partages ! Merci !
    Une personne ne lit pas (ou rarement) plus de 10 a 20 lignes sur une page, toutes les autres sont superflue. Essaye plutot de faire du paging ou une virtual scrollbar...

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/10/2007, 20h21
  2. Update Panel - question de fond
    Par igorzup dans le forum ASP.NET
    Réponses: 9
    Dernier message: 16/10/2007, 17h20
  3. valeur mise a jour dans un update panel
    Par kazoumoulox dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/08/2007, 13h51
  4. [AJAX] performances fortement diminuées avec un Update panel (et IE)?
    Par cortex024 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2007, 12h40
  5. ASP 2.0 Ajax Update Panel & Trigger
    Par chnew dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/06/2007, 14h16

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