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 avec un événement


Sujet :

ASP.NET

  1. #1
    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 Problème avec un événement
    Bonjour tout le monde.

    Voilà le truc.
    J'ai un premier UserControl qui contient d'autres UserControls.
    Dans un des UserControls fils, j'ai une liste déroulante.
    Je veux que mon UserControl père soit averti quand l'item sélectionné dans la liste déroulante change.

    Pour faire ça, je crée un événement dans le UserControl fils et je m'y abonne dans le UserControl père.
    Mais ça marche pas

    Voilà mon UserControl fils

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public partial class UcSimulationParameter : UserControl
    {
        /// <summary>
        /// Declare un delegate
        /// </summary>
        public delegate void ParameterChangedEventHandler(object sender, EventArgs e);
     
        /// <summary>
        /// Declare un evenement qui va contenir les informations que nous souhaitons envoyer
        /// </summary>
        public event ParameterChangedEventHandler OnParameterChanged;
     
    protected void ddlSimulationParameter_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (e != null)
            {
                OnParameterChanged(this, e);
            }
        }
    ddlSimulationParameter est la liste déroulante en question.
    Donc quand l'index change, je raise l'événement OnParameterChanged.
    Et là, une exception est levée en disant que OnParameterChanged is null.

    Je comprends pas trop le problème là.

    Une idée?
    Merci

  2. #2
    Membre très actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Par défaut
    salut

    et dans ton userControl parent as tu ton evenement du userControl enfant?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UcSimulationParameter.OnParameterChanged += new EventHandler(ton evenement dans le parent);

  3. #3
    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
    Yep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <uc2:UcSimulationParameter
                                ID="UcSimulationParameter1"
                                runat="server" 
                                 OnParameterChanged="UcSimulationParameter_OnParameterChanged" />

  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
    Bon bah voilà la solution.

    Dans mon UserControl père, soit je m'abonne en code behind ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UcSimulationParameter1.OnParameterChanged += UcSimulationParameter_OnParameterChanged;
    Soit en déclaratif (.aspx) ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <uc2:UcSimulationParameter
                                ID="UcSimulationParameter1"
                                runat="server" 
                                OnOnParameterChanged="UcSimulationParameter_OnParameterChanged" />
    Notez la présence du double On

    Faudrait que je cherche l'explication mais j'ai pas le temps là

  5. #5
    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
    Citation Envoyé par nashouille Voir le message
    et le traitement de ton evenement dans le parent, il a pas l'air d'existé
    Réponse juste au dessus (on a posté en même temps)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec les évènement de mes controle
    Par napegadie dans le forum VB.NET
    Réponses: 5
    Dernier message: 17/08/2007, 12h41
  2. [JComboBox] Problème avec un événement
    Par cysboy dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 21/03/2007, 15h34
  3. [C# 2.0] Problème avec l'évènement de mon userControl
    Par manu94600 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/11/2006, 20h36
  4. problème avec l'événement onBlur
    Par danyboy85 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/04/2006, 11h48
  5. [wxpython] problème avec les événements souris
    Par kalimero dans le forum wxPython
    Réponses: 2
    Dernier message: 13/11/2005, 15h42

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