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 communication avec un usercontrol


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut Problème de communication avec un usercontrol
    Bonjour,

    Je suis actuellement en phase de prototypage.

    J'ai sur une page une gridView listant des applications.
    Au dessus de ma gridView j'ai une collection d'image basé sur l'alphabet.

    Lorsque je clique sur une image, ma liste se raffraichit en filtrant sur la lettre.

    Tout fonctionne bien dans le meilleur des mondes

    Cette liste alphabétique de navigation étant présente sur plusieurs pages, j'ai pensé à en faire un user control.
    J'ai donc créé mon fichier ascx en y incorporant le code suivant coté IHM :
    Code html : 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
     
    <div class="navigationLetterZone">
       <asp:ImageButton ID="imgBtn_ALL" runat="server" ImageUrl="/Images/az/all.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_09" runat="server" ImageUrl="/Images/az/09.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_A" runat="server" ImageUrl="/Images/az/a.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_B" runat="server" ImageUrl="/Images/az/b.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_C" runat="server" ImageUrl="/Images/az/c.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_D" runat="server" ImageUrl="/Images/az/d.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_Y" runat="server" ImageUrl="/Images/az/y.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
       <asp:ImageButton ID="imgBtn_Z" runat="server" ImageUrl="/Images/az/z.gif" class="navigationLetter"
          OnClick="navigationLetter_OnClick" />
    </div>

    Dans mon code-behind, j'ai créé une variable indiquant sur quelle lettre j'ai cliqué ainsi que la fonction navigationLetter_OnClick :
    Code c# : 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
     
    public string UCfilter { get; set; }
     
    protected void navigationLetter_OnClick(object sender, EventArgs e)
    {
       // RECUPERER la lettre
       System.Web.UI.Control button = (System.Web.UI.Control)sender;
       string filter = button.ID.Substring(button.ID.Length - 1);
     
       // TESTER si c'est le bouton TOUS
       if ("imgBtn_ALL".Equals(button.ID))
       {
          filter = TechnicalConstants.ListFilter.FilterAll;
       }
       // TESTER si c'est le bouton 0-9
       if ("imgBtn_09".Equals(button.ID))
       {
          filter = TechnicalConstants.ListFilter.FilterNum;
       }
       UCfilter = filter;
    }

    J'ai lu dans le tutoriel dvp suivant (http://lutecefalco.developpez.com/tu...-page-asp-net/) qu'il fallait créé un Handler qui sera appelé ensuite dans lé définition de mon user control sur la page appelante.
    Mais je n'arrive pas à m'en sortir.

    Auriez-vous une piste ?
    Merci d'avance
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 147
    Points : 174
    Points
    174
    Par défaut
    Si tu veux communiquer à ta page l'information click sur ton usercontrol tu doit rajouter au control:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public delegate void ClickEventHandler (Object sender, EventArgs e);
    public event ClickEventHandler   ClickEvent;
     
     
    protected void navigationLetter_OnClick(object sender, EventArgs e)
    {
       ...
    if (ClickEvent!= null) ClickEvent(this, New EventArgs());
    }
    et dans ta page tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monUserControl.ClickEvent+= fonction...
    Tu peux aussi créer une classe dérivée de EventArgs si tu veux paramétrer ton event.

    @+

  3. #3
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Merci c'est impeccable !
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.

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

Discussions similaires

  1. Problème de communication avec la carte SD
    Par burby dans le forum Débuter
    Réponses: 0
    Dernier message: 30/11/2009, 08h50
  2. Problème de communication avec Postfix
    Par capadona dans le forum Réseau
    Réponses: 2
    Dernier message: 13/08/2009, 09h39
  3. postfix : Problème de communication avec orange.fr
    Par DrDam dans le forum Administration système
    Réponses: 0
    Dernier message: 19/06/2009, 12h56
  4. Problème de communication avec un port série
    Par hélène2 dans le forum C#
    Réponses: 8
    Dernier message: 22/04/2009, 09h26
  5. Problème de Binding avec un UserControl
    Par birdyz dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 20/02/2009, 12h31

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