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 :

Control utilisateur et page hote


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut Control utilisateur et page hote
    Bonjour,
    comment recuperer dans ma page, un event (clique sur un bouton) qui s'est produit dans le control?
    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    Je vais essayer détre plus explicite:

    J'ai fais un control utilisateur qui me servira de formulaire. Je l'ai appelé: FormulaireControl.
    Ce formulaire, comme tout formulaire digne de son nom contient un bouton pour valider les données (appelé ValidateButton).
    -Voici son code aspx:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <asp:Button ID="ValidateButton" runat="server" onclick="ValidateButton_Click" 
            Text="Validate" />
    -Ainsi que le code .cs (code beside corepondant):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public event EventHandler ButtonClicked; // 
            protected void ValidateButton_Click(object sender, EventArgs e)
            {
                if (ButtonClicked != null)
                    ButtonClicked(this, EventArgs.Empty);
            }
    Ici donc, lorsque le boutton est cliqué, l'event est lancé (pour pouvoir etre recuperer dans ma WebForm).



    Dans la webForm (appelé: WebForm1), je place mon control.
    Pour faire ainsi, j'ai donc, dans WebForm1.aspx, inserer les lignes de code suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%@ Register TagPrefix="uc" TagName="Form" Src="~/ControlFormulaire.ascx"%>
     
    <uc:Form ID="SubscribForm" runat="Server" MinVal="1" MaxVal="10" />
    et dans mon code beside:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    protected void Page_Load(object sender, EventArgs e)
            {
              ControlFormulaire ctrl = new ControlFormulaire();
            Controls.Add(ctrl); 
              ctrl.ButtonClicked += new EventHandler(ValidateButton_Click); //ici je fais donc "la glue" entre mon userControl et ma Webform. 
    //Et, en cas de bouton cliqué, je declanche le delegué: ValidateButton_Click.
     
            }
     
            private void ValidateButton_Click(object sender, EventArgs e)
    {
              Response.Redirect("WebForm2.aspx");
    }

    Maintenant.....
    Le probleme avec tout ca, cést que ca ne marche pas.
    En fait, le thread ne rentre jamais dans cette partie du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     protected void ValidateButton_Click(object sender, EventArgs e)
            {
                if (ButtonClicked != null)
                    ButtonClicked(this, EventArgs.Empty);
            }
    A l'aide síou plait

  3. #3
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    J'ai essayé ceci aussi, mais ca ne marche pas nonplus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    protected ControlFormulaire ctrl;
            protected void Page_Load(object sender, EventArgs e)
            {
                ctrl = this.SubscribForm;
                this.ctrl.ButtonClicked += new EventHandler(ValidateButton_Click); // name of the event handler in your form that's called once you click the button
            }

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par IsraGab Voir le message
    Le probleme avec tout ca, cést que ca ne marche pas.
    En fait, le thread ne rentre jamais dans cette partie du code:
    Ce qui est tout à fait normal, puisque le controle est re-instancié au chargement de la page, donc il ne reçoit jamais le "click" utilisateur.

  5. #5
    Membre éclairé
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Ce qui est tout à fait normal, puisque le controle est re-instancié au chargement de la page, donc il ne reçoit jamais le "click" utilisateur.
    Excuse mon ignorance, mais que dois-je donc faire pour palier ce probleme?
    J'ai essayé ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    SubscribForm.ButtonClicked += new EventHandler(SubscribForm_ButtonClicked);
                }
            }
    mais ca ne marche toujours pas

Discussions similaires

  1. [VB.Net] Regrouper des controles utilisateurs
    Par Jsh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/04/2006, 13h39
  2. [VB]Gérer la liaison entre controle utilisateur et form
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 23/01/2006, 09h50
  3. Réponses: 4
    Dernier message: 17/01/2006, 09h49
  4. Réponses: 68
    Dernier message: 30/11/2005, 17h29
  5. [C#] Récupération des contrôles d'une page
    Par corback dans le forum ASP.NET
    Réponses: 3
    Dernier message: 16/05/2005, 10h08

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