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 :

Rafraichir un contrôle après appel ajax.


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 68
    Points
    68
    Par défaut Rafraichir un contrôle après appel ajax.
    Bonjour,

    Afin de vouloir faire du "vrai ajax" dans mon application ASP.NET (c#), j'utilise le scriptmanager et des webmethods pour faire des appels serveurs et mettre à jour mes données serveurs (Sessions, etc). Cependant, j'aimerais mettre à jour directement un contrôle.
    Ma première piste a été de faire un petit window.location en js à la fin de l'appel ajax, mais ça rafraichit toute la page (logique).

    Je me demandais donc s'il était possible de spécifier le contrôle à recharger ? (refaire le cycle de vie du contrôle cqfd)
    Si non, quelle est la méthode à suivre pour mettre à jour un affichage d'un contrôle qui se trouve n'importe où dans la page ?

    En PHP, j'ai l'habitude de faire renvoyer directement du code HTML par le script appelé par l'ajax et je l'injecte dans mon contrôle de retour (une DIV par exemple) ; mais je ne peux pas faire ça en .NET, ça serait sale et impossible à maintenir ^^.

    Merci par avance.

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par maniaco_jazz Voir le message

    Je me demandais donc s'il était possible de spécifier le contrôle à recharger ? (refaire le cycle de vie du contrôle cqfd)
    Si non, quelle est la méthode à suivre pour mettre à jour un affichage d'un contrôle qui se trouve n'importe où dans la page ?
    Tu dois le mettre dans un updatepanel

    Citation Envoyé par maniaco_jazz Voir le message
    En PHP, j'ai l'habitude de faire renvoyer directement du code HTML par le script appelé par l'ajax et je l'injecte dans mon contrôle de retour (une DIV par exemple) ; mais je ne peux pas faire ça en .NET, ça serait sale et impossible à maintenir ^^.

    Merci par avance.
    Je vois pas pourquoi

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    Justement, je ne souhaite pas utiliser d'updatepanel D'autant plus que l'action ne se fait pas dans le contrôle qui doit être rechargé.

    Citation:
    Envoyé par maniaco_jazz Voir le message
    En PHP, j'ai l'habitude de faire renvoyer directement du code HTML par le script appelé par l'ajax et je l'injecte dans mon contrôle de retour (une DIV par exemple) ; mais je ne peux pas faire ça en .NET, ça serait sale et impossible à maintenir ^^.

    Merci par avance.
    Je vois pas pourquoi
    Disons qu'en PHP, écrire du code html dans le script, c'est plus simple et plus propre qu'en .NET, non ? A moins qu'il soit possible de charger un contrôle (ascx par exemple) via la webmethod appelé par le JS... Mais là, j'avoue que je ne vois pas bien

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par maniaco_jazz Voir le message
    Justement, je ne souhaite pas utiliser d'updatepanel
    Tu ne veux pas faire d'ajax "pur" mais tu ne veux pas non plus utiliser les contrôles mis à disposition par le framework. Tu veux quoi alors ?

    Citation Envoyé par maniaco_jazz Voir le message
    D'autant plus que l'action ne se fait pas dans le contrôle qui doit être rechargé.
    C'est pas un problème ça

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    Si, je veux faire de l'ajax "pur"
    Peut-être qu'il faut que je passe par du JQuery que je ne connais pas bien, mais s'il le faut, je me tournerai vers cette piste.

    Le scriptmanager du framework offre la possibilité de faire des PageMethods, ça marche même bien et c'est efficace au niveau performance.
    Mon seul soucis, c'est juste une fois ma WebMethod terminée, et lorsque je reviens dans mon javascript : comment "forcer" le rechargement d'un contrôle (ascx notamment) mais pas de toute la page ?

    Tu dis qu'avec un UpdatePanel sur mon contrôle cible, ça pourrait marcher ?
    Parce que je ne vois pas comment forcer le rechargement d'un updatepanel via javascript
    Je précise que potentiellement, mon action javascript (click ou autre) ne se fait pas dans le contrôle cible.

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

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par maniaco_jazz Voir le message
    En PHP, j'ai l'habitude de faire renvoyer directement du code HTML par le script appelé par l'ajax et je l'injecte dans mon contrôle de retour (une DIV par exemple) ; mais je ne peux pas faire ça en .NET, ça serait sale et impossible à maintenir ^^.
    Citation Envoyé par maniaco_jazz Voir le message
    Si, je veux faire de l'ajax "pur"
    Y a pas comme une contradiction là?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Points : 68
    Points
    68
    Par défaut
    La méthode utilisée en PHP reste assez proche de l'ajax, même si l'ajax en théorie comporte une manipulation DOM plus poussée derrière
    Après, manier du DOM en .NET, bonjour la galère je trouve.

    J'essaie donc de faire au moins les connexions asychrones proprement.
    Pour moi, l'updatepanel est un peu lourd... le scriptmanager et l'appel à des WebMethods via PageMethods est ce qui est mieux je trouve (il ne crée pas trop de javascript "inutile" derrière).

    Enfin après, les goûts et les couleurs hein, tout dépend des applications qui sont développées...

    Ou je n'ai pas bien compris où est-ce que tu voulais en venir

Discussions similaires

  1. Rafraichir un page après appel d'une fonction
    Par friedamichelle dans le forum JSF
    Réponses: 5
    Dernier message: 23/02/2011, 16h00
  2. [MVC] Récuperation d'un élément de session après appel Ajax
    Par zulot dans le forum Spring Web
    Réponses: 0
    Dernier message: 14/02/2011, 14h39
  3. backgroundColor des TR après appel AJAX
    Par __fabrice dans le forum jQuery
    Réponses: 3
    Dernier message: 22/04/2010, 18h55
  4. Interpréter javascript après appel ajax
    Par Monico dans le forum jQuery
    Réponses: 14
    Dernier message: 26/10/2009, 10h40
  5. exécution javascript après appel ajax
    Par Gaani dans le forum jQuery
    Réponses: 3
    Dernier message: 21/09/2009, 16h56

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