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 conception de site (événement User Control)


Sujet :

ASP.NET

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut Problème conception de site (événement User Control)
    Bonjour à tous,

    Je reprends un site où y a quelques problèmes de conception (c'est un euphemisme), petite description :

    - Le site comporte une Master Page (qui contient une Treeview).
    - La page (content) en question contient plusieurs onglets (la définition de tous les onglets sont dans la même page sauf une qui a été isolé dans un UC).

    Dans la page content un onglet permet la création d'un article (cette partie est définie dans l'UC).
    * lors de la création d'un article on a besoin d'uploader une image (il existe un ou plusieurs bouton d'upload dans l'UC selon le nombre d'image à ajouter)
    * L'upload d'une image est une partie qui est définie dans un autre onglet => cette partie se fait dans la page content (j'espère que vous me suivez encore lol).

    Quand on est dans l'UC (création de l'article), au clique sur un bouton Upload => On recharge un nouvel onglet (Onglet Image).

    Le problème est que dans le Page_Load de content, j'ai besoin d'une information générer par l'événement Click de l'Upload (dans l'UC article).

    Je pense qu'une bonne solution (juste au problème bloquant) est d'associer un événement dans la Page content à l'événement Click de l'UC.

    Est ce que ça vous pourrait bon ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Citation Envoyé par rad_hass Voir le message
    Je pense qu'une bonne solution (juste au problème bloquant) est d'associer un événement dans la Page content à l'événement Click de l'UC.

    Est ce que ça vous pourrait bon ?
    Salut,

    j'ai peut-etre pas tout compris, mais tu veux qu'une valeur generee dans l'evenement click d'un usercontrol soit visible depuis le page_load de la page appelante ?

    Je ne suis pas sur (pas sur du dev web en ce moment), mais il me semble que le page_load de la page contenant un user_control est appele *avant* les evenements du controle en question...

    Donc, dans ton click, il est deja trop tard...

    Par contre, tu dois pouvoir depuis le usercontrol appeler une fonction de la page


    Quelque chose genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MaPage)this.Page).MaMethode()

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Merci pour ta réponse

    Citation Envoyé par pvialatte Voir le message
    Salut,

    j'ai peut-etre pas tout compris, mais tu veux qu'une valeur generee dans l'evenement click d'un usercontrol soit visible depuis le page_load de la page appelante ?

    Je ne suis pas sur (pas sur du dev web en ce moment), mais il me semble que le page_load de la page contenant un user_control est appele *avant* les evenements du controle en question...

    Donc, dans ton click, il est deja trop tard...
    Justement, c'est ça le problème

    Citation Envoyé par pvialatte Voir le message
    Par contre, tu dois pouvoir depuis le usercontrol appeler une fonction de la page


    Quelque chose genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MaPage)this.Page).MaMethode()
    Je pensais à plus au moins la même chose (à l'envers lol), avec un événement qui se déclencherai au même moment que l'événement de l'user contrôle.

    Donc tu pense que c'est mieux d'appeler une méthode à partir de l'événement ? Vaut mieux que l'UC reste indépendant vis à vis de la page appelante non ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    J'ai préféré passé par l'événement, ce que je fais c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    /// <summary>
        ///  declaration de Delegate
        /// </summary>
        public delegate void OnChangeEventHandler(object sender, EventArgs e);
     
        /// <summary>
        /// Declare un evenement qui va contenir les informations que nous souhaitons envoyer
        /// </summary>
        public event OnChangeEventHandler OnClickedUpload;
    Dans mon Upload_Click (Upload Image) J'appel OnClickedUpload

    Et dans ma Page je m'abonne à l'événement OnClickedUpload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UcMonUc.OnClickedUpload+= UcMonUc_OnClickedUpload;
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  5. #5
    Membre expérimenté Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Points : 1 352
    Points
    1 352
    Par défaut
    C'est à mon avis la meilleure méthode.

    Bon courage pour la suite,

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/05/2011, 17h37
  2. problème libération mémoire dû aux user control
    Par grogui dans le forum Windows Forms
    Réponses: 25
    Dernier message: 30/03/2009, 09h29
  3. Problèmes user control et événement
    Par gridin dans le forum VB.NET
    Réponses: 3
    Dernier message: 04/05/2007, 14h40
  4. [C#] User Control qui génère un évènement
    Par Amnesiak dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/10/2006, 14h44
  5. Réponses: 2
    Dernier message: 25/04/2006, 17h08

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