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 lors de l'ajout d'un évènement à un UserControl


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif Avatar de cfillion
    Homme Profil pro
    Arrangeur musical
    Inscrit en
    Avril 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Arrangeur musical
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2010
    Messages : 49
    Par défaut Problème lors de l'ajout d'un évènement à un UserControl
    Bonjour à tous, voici mon problème :
    Pour connecter un UserControl à la page parente pour modifier une propriété de la page maître,
    j'ai trouvé le code suivant :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    // .ascx.cs
    public event System.EventHandler Error;
     
    protected void Message(string Message, int Type)
    {
    	CommandEventArgs e = new CommandEventArgs(Message, Type);
     
    	this.Error(this, e);
    }
     
    // .aspx
     
    <userControls:SiteMapManager ID="SiteMapManager" runat="server"></userControls:SiteMapManager>
    <% SiteMapManager.Error += new EventHandler(SiteMapManager_Error);  %>
     
    // .aspx.cs
     
    protected void SiteMapManager_Error(object sender, EventArgs e)
    {
    	CommandEventArgs EventArgs = (CommandEventArgs)e;
     
    	if ((int)EventArgs.CommandArgument == 1) // Information
    		Master.MessageInfo = EventArgs.CommandName;
    	else if ((int)EventArgs.CommandArgument == 0) // Erreur
    		Master.MessageErreur = EventArgs.CommandName;
    	else
    		Master.MessageErreur = "Impossible de lire le message retourné par le contrôle.";
    }
    Lors de l'éxecution, j'obtient le message d'erreur suivant :
    Erreur du serveur dans l'application '/MonApplication'.
    La référence d'objet n'est pas définie à une instance d'un objet.
    Erreur source : this.Error(this, e);
    Que faire (et merci d'avance) ?

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Quelles sont les valeurs des différents paramètres avant le bug?
    Que donne l'exécution pas à pas?

    Sinon, si nous faisons une analogie entre une page et une famille. On peut vérifier ceci:
    • Un contrôle ne connait pas ses parents
    • Un contrôle connaît ses enfants
    • Un contrôle ne connait pas ses petits enfants.
    Ok ça n'a pas l'air d'une famille très soudée mais bon.
    Du coup, la recherche d'un parent par un contrôle est délicate.
    Pour connecter un UserControl à la page parente pour modifier une propriété de la page maître
    Sinon, deux sujets dans la FAQ:

    Et un tuto: http://lutecefalco.developpez.com/tu...-page-asp-net/

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre actif Avatar de cfillion
    Homme Profil pro
    Arrangeur musical
    Inscrit en
    Avril 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Arrangeur musical
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2010
    Messages : 49
    Par défaut
    Le message d'erreur :

    Avant, j'avais tout mit dans la page, donc pour afficher un message je faisais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Master.MessageErreur = "Ceci est un message d'erreur";
    Et ça fonctionne très bien. Maintenant, pour libérer de la place dans la page,
    j'ai essayé de mettre le contenu des modules dans des UserControls.
    Donc, afin de pouvoir afficher les messages, j'ai voulu utiliser les évènement...

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Normalement, ce que je t'ai dit précédemment devrait t'aider à comprendre.

    Postulat:
    Citation Envoyé par Immobilis Voir le message
    Sinon, si nous faisons une analogie entre une page et une famille. On peut vérifier ceci:
    • Un contrôle ne connait pas ses parents (page, master page)
    • Un contrôle connaît ses enfants (user control)
    • Un contrôle ne connait pas ses petits enfants (control de user control).
    Ton usercontrol ne connait pas son parent (la page dans laquelle il se trouve), encore moins son grand-parent (master page).

    Le tuto devrait t'apporter la solution.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre actif Avatar de cfillion
    Homme Profil pro
    Arrangeur musical
    Inscrit en
    Avril 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Arrangeur musical
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2010
    Messages : 49
    Par défaut
    Donc, si j'ai bien compris, je ne doit pas utiliser les évènements ?

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Si si, mais lors d'un evènement tu ne peux (devrais) pas demander au usercontrol de mettre à jour la master page. C'est mon point de vu.
    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. [Irrlicht]Problème lors de l'ajout d'objet
    Par _SamSoft_ dans le forum Irrlicht
    Réponses: 0
    Dernier message: 09/06/2008, 20h20
  2. problème lors de l'ajout de logiciels
    Par jamjam19 dans le forum RedHat / CentOS / Fedora
    Réponses: 5
    Dernier message: 21/02/2008, 08h37
  3. Problèmes lors de l'ajout de nouvelles polices windows
    Par spynux dans le forum Windows XP
    Réponses: 9
    Dernier message: 01/08/2007, 22h01
  4. Problème lors de l'ajout d'un port
    Par zehle dans le forum VHDL
    Réponses: 1
    Dernier message: 24/05/2006, 21h44
  5. [Client mail] Problème lors de l'ajout des comptes
    Par Leobaillard dans le forum Web & réseau
    Réponses: 9
    Dernier message: 19/11/2005, 17h12

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