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 :

Problème de cycle de vie.


Sujet :

ASP.NET

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de cycle de vie.
    Bonjour, je n'ai pas trouvé de solutions a mon problème, et a vrai dire ce problème fait partie de ceux auquels on ne sait pas vraiment donner un intitulé.

    Le voici :

    J'ai une page avec 2 UpdatePanel :
    Un pour le menu (sur la gauche), un pour l'article(au milieu).
    Le menu est généré depuis la bd, et un click sur un menu est censé afficher un article.

    Problème :

    Pour qu'un menu puisse appeler la méthode liée a son onclick (un EventHandler que j'ajoute dynamiquement), il faut que dans le page_init de ma page je recharge le menu (et donc acces en base), pour respecter le cycle de vie, sinon mon appli ne sais pas quel fonction lever, étant donné que le client n'envoi "que" l'ID du controle qui a levé l'évènement (l'association Controle - Fonction à lancer est faites coté serveur).(Jusque la je crois être juste).Il est inutile de régénerer le menu étant donné qu'il est déjà affiché, ej ne veut pas le rafraichir.J'ai entendu parler des Page Methods, qui permettent d'appeler en js des fonctions présentent dans une page. Sauf que ces fonctions sont static et donc je n'ai pas acces aux PlaceHolder de ma page pour y ajouter / supprimer des controles.

    Je voudrais donc savoir si il y a possibilité de garder mon menu tout le temp, sans le recharger, et pouvoir afficher mes articles.

    Merci

  2. #2
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Si le menu ne doit pas être rafraîchi, pourquoi est-il dans un update panel ?

    Si tu le construit "en dur", tu n'auras pas le problème que tu décris...

    Ou alors je n'ai pas compris

  3. #3
    Invité
    Invité(e)
    Par défaut
    désolé je n'ai aps dit pourquoi.
    Il est dans un updatepanel
    l car il y a au dessus de lui des controle qui peuvent le modifier, du style un select pour changer de langue et autre ...

    Le fait qu'il soit ou non dans un update panel ne change pas la donne je pense.

    Le problème est de savoir si l'on peut modifier notre page, de manière asynchrone, tout comme on le fait assez facilement avec xajax en php : depuis mon code je dit "tu me mettre telle valeur dans le innerHTML de tel truc".

    Vous allez me dire que c'est possible via les onSucceed et compagnie.

    Mais le truc c'est que mon article je l'affiche dans un WebUserControl (pas un simple txt), du coup le html de sortie est un peu compliqué,
    et j'ai pas envie d'essayer de reproduire mon WebUserControl en tatonant en JS, et je trouverai ça plutot très moche (au niveau du code).

    Au passage c'est peut etre le truc le plus stupide du monde (efin non y'a plus stupide, comme faire payer la bière) de faire des méthode de page static, c'est exactement comme si l'on accédait a un webservice (on y gagne peut etre 15 sec à éviter de référencer le webservice, et on y perd 15 autres sec lorsqu'on veut reutiliser la méthode sur une autre page).

  4. #4
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    Peut-être ajouter sur les différents items du menus un fonction JavaScript qui provoque un update de panel contenant les articles avec un certain paramètres passé.

    Ainsi, lorsque l'update sera demandé du panel qui affiche les articles, il saura que article afficher, non ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup j'ai trouvé uen solution en m'inspirant de ton aide :

    J'ai mis dans mon panel un HiddenField avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    OnValueChanged="click_menu"
    Sur mes menu (dans le href) je met un appel, avec le bon numero, de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    id_hf_num_article = '<%=hf_num_article.ClientID %>';
    function affiche_article(id_article){
        var hf = document.getElementById(id_hf_num_article);
        hf.value = id_article;
        __doPostBack(id_hf_num_article,'');
    }
    Je fait le postback car sinon il en se fait pas automatiquement (étrange mais bon ...).
    Et la fonction click_menu de mon codebehind refresh le bon panel

    EDIT : il faut penser a mettre à 0 le hiddenfield, sinon l'event n'est pas levé

    C'est un peu fastidieux, et c'est dommage qu'il n'y ai pas de moyen prévu de base pour faire ça (ben ouai avec ce framework on s'y fait vite au "c'est deja fait"), mais ça marche


    Merci encore.
    Dernière modification par Invité ; 05/12/2007 à 12h58.

  6. #6
    Membre Expert
    Avatar de Pongten
    Homme Profil pro
    IT Analyst & Software Developer
    Inscrit en
    Juin 2002
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Analyst & Software Developer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 173
    Par défaut
    De rien :-)

Discussions similaires

  1. Problème avec le cycle de vie d'une application
    Par sebagot dans le forum Android
    Réponses: 2
    Dernier message: 29/11/2014, 23h57
  2. Model de cycle de vie d'un logiciel
    Par apt dans le forum Méthodes
    Réponses: 4
    Dernier message: 29/10/2014, 23h54
  3. Problème avec cycle de vie d'une applet
    Par riadhhwajdii dans le forum Applets
    Réponses: 0
    Dernier message: 16/09/2014, 09h48
  4. problème de cycle de vie d'un objet
    Par ostralo dans le forum C++
    Réponses: 26
    Dernier message: 29/01/2009, 14h29
  5. [EJB Stateful] [Cycle de vie] methode remove()
    Par anitshka dans le forum Java EE
    Réponses: 3
    Dernier message: 05/12/2006, 17h31

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