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 :

Ajax et ASP.NET


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut Ajax et ASP.NET
    Bonjour,

    J'ai suivi plusieurs tutoriels pour mettre un peu d'AJAX dans mon ASP.NET/C#, dont le tutoriel vidéo suivant (en anglais) :
    http://download.microsoft.com/downlo...ASPNETPage.wmv

    J'ai essayé de faire de même, puis j'ai corcé un peu les choses en demandant une mise à jour partielle de ma page sur changement de la sélection d'un DropDownList.

    Je suis alors arrivé à la même conclusion que tel que décrit dans cet article http://blog.developpez.com/nico-pyri...datepanel_pour
    ... à savoir qu'il faut préciser AutoPostBack="true" pour les DropDownList pour qu'ils puissent être utilisés en ajax.

    Je pensais jusque là que l'atout de l'ajax était d'éviter de faire un rechargement de toute la page. Je pensais donc bêtement que la partie Page_Load n'était pas reparcourue.

    L'exemple vidéo utilise la partie du Page_Load pour justement remettre à jour un label contenant l'heure. Ce label n'étant pas remis à jour à chaque rechargement partiel de la page permis par ajax, cela m'a conforté dans mon idée que les instructions du Page_Load n'étaient pas réexécutées.

    Or, en mettant un point d'arrêt sur la première ligne de code du Page_Load, je m'aperçois qu'on y passe pour chaque rechargement partiel de la page, c'est à dire à chaque fois que je change la sélection dans mon DropDownList.

    C'est à priori cohérent avec la propriété AutoPostBack="true" de mon DropDownList, mais incohérent avec ma première idée de l'atout de l'ajax.

    J'ai fait le test également avec une mise à jour partielle de la page suite à un clic sur un bouton : même chose, Page_Load reparcouru.

    Comment se fait-il que le Page_Load soit reparcouru, alors que le résultat des instructions qu'il contient ne sera pas utilisé ??

    ... espérant avoir été assez clair ...

    Merci d'avance pour vos réponses !

  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
    Lors d'un Asynchronous Partial PostBack, la page repasse par tout le cycle classique. Mais seule la "partie" html correspondant à l'UpdatePanel est transmise au client et mise à jour dans le navigateur.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    ... existe-t-il un moyen d'éviter au maximum de repasser par ce chargement ?
    Jouer sur le IsPostBack ? qq chose d'autre ?

  4. #4
    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
    Y a le IsPartialPostBack ou un truc dans le genre

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 39
    Par défaut
    Merci lutecefalco pour tes réponses. Par contre, une recherche sur le IsPartialPostBack donne bien peu de résultats, je n'ai rien trouvé dans la msdn non plus.

    J'ai trouvé cette page, qui a répondu à ma question, à savoir ajouter un if dans le Page_Load qui m'évite de repasser les instructions en cas de AsyncPostBack.
    Je vous laisse découvrir par vous même la réponse : http://forums.asp.net/t/1124166.aspx

  6. #6
    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
    IsInAsyncPostBack, j'étais pas loin quand même

Discussions similaires

  1. framework AJAX pour Asp.Net
    Par ASPAK dans le forum ASP.NET
    Réponses: 11
    Dernier message: 17/04/2008, 14h40
  2. Installer des extensions AJAX pour ASP.NET
    Par Rick62 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 21/02/2008, 17h48
  3. [AJAX] Ajax et ASP.NET
    Par boleduch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2006, 16h15

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