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 :

[vb.net 2.0] Composants


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut [vb.net 2.0] Composants
    Bonjour a tous, j'ai créer un composant (enfin j'appelle ca comme ca).
    Je l'insere sur ma page grace à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%@ Register TagPrefix="COMP" TagName="ChampErreur" Src="../Controls/ChampErreur.ascx" %>
     
    Puis dans la page:
     
    <COMP:ChampErreur runat="server" ID="ChampErreur" Visible="false" />
    Cela marche très bien. Seulement dans ce composant que j'insère sur toutes mes pages il y a un bouton. Ce bouton est censé appeler une fonction contenu dans le code vb de mes pages.

    Le problème est que par exemple la fonction PERSO_Save() définit dans ma page toto.aspx.vb n'existe pas pour ChampErreur.ascx.

    Ma question est: y a t'il un moyen d'accéder au éléments vb de la page sur le quel se trouve mon contrôle dans son code vb personnel?

    En espérant avoir été clair

  2. #2
    Membre confirmé Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Par défaut
    Bonjour!

    Je n'ai pas super bien compris ta question, mais je vais quand même tenter d'y répondre

    -Si tu veux éxécuter une action au clique du bouton

    Dans ChampErreur.ascx.vb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'Déclaration de l'évènement
    Public Event Bouton_Click()
     
    'Levée de l'évènement
    Protected Sub IDDuBouton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles IDDuBouton.Click
            RaiseEvent Bouton_Click()
    End Sub
    Ensuite tu n'as plus qu'à récupérer l'évènement levé dans ta page toto.aspx.vb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Protected Sub Bouton_Click() Handles ChampErreur.Bouton_Click
    'Mettre ici le code à exécuter au click du bouton
    End Sub
    Et avec cela tu pourras intercepter l'évènement associé au bouton !

    -Si tu veux chager les propriétés du bouton, par exemple le Text, Crée une propriété dans ChampErreur.ascx.vb

    Exemple avec un bouton IDDuBouton :

    Dans le .ascx.vb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     Public Property CaptionBouton() As Integer
            Get
     
            End Get
            Set(ByVal value As Integer)
                If value = 1 Then
                    IDDuBouton.Text = "Oui"
                Else
                    IDDuBouton.Text = "Valider"
                End If
            End Set
        End Property
    et dans ton code toto.aspx.vb, tu pourras changer cette propriété de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ChampErreur.CaptionBouton=1
    Et voila!
    J'espère avoir répondu à ta question !

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    Et si il y a X boutons comment je peux savoir sur lequel j'ai cliquez, je test l'id?

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 154
    Par défaut
    C'est bon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        'Déclaration de l'évènement
        Public Event Bouton_Click(ByVal ID_Bouton As String)
     
        'Levée de l'évènement
        Protected Sub ButtonEcraser_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonEcraser.Click
            RaiseEvent Bouton_Click(sender.ToString)
        End Sub
     
        Protected Sub Bouton_Click(ByVal ID_Bouton As String) Handles ChampErreur.Bouton_Click
            'Mettre ici le code à exécuter au click du bouton
        End Sub
     
    Puis:
    Merci pour ton aide.

  5. #5
    Membre confirmé Avatar de Azephel
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Par défaut
    De rien ^^

    sinon si tu as plusieurs boutons, tu peux aussi déclarer puis lever des évènements différents !

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    'Déclaration des évènements
        Public Event Valider_Click(ByVal ID_Bouton As String)
        Public Event Annuler_Click(ByVal ID_Bouton As String)
     
    'Levée des évènements
        Protected Sub ButtonValider_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonValider.Click
            RaiseEvent Valider_Click()
        End Sub
     
     Protected Sub ButtonAnnuler_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonAnnuler.Click
            RaiseEvent Annuler_Click()
        End Sub
    Mais sinon ton idée n'est pas mal non plus !

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

Discussions similaires

  1. [VB.NET] Ancrage des composants du StatusStrip
    Par olbi dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/04/2006, 06h48
  2. [VB.Net] Ajout de composant dynamique
    Par le Daoud dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/02/2006, 11h21
  3. Réponses: 5
    Dernier message: 08/02/2006, 10h52
  4. [VB.NET] Création de composant
    Par Emcy dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/03/2005, 15h47
  5. [VB.NET] Problème sur composant comboBox hérité
    Par SergeF dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 14h54

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