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 :

[C#] Execution d'une fonction en code behind


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut [C#] Execution d'une fonction en code behind
    Bonjour,
    voilà, lorsque qu'un utilisateur sélectionne une ligne d'une list box je veux faire exécuter un code pour modifier les informations de textbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListBox id="lb_UserListe" runat="server" Width="139px" Height="272px" onselect="Rechercher(this.selectedItem.Label)"></asp:ListBox>
    La fonction appelée (Rechercher()) se trouve en code behind mais webmatrix ne va pas la chercher. Comment faire pour forcer le compilateur à l'exécuter :

    PS: j'ai d'jà une fonction qui permet de forcer le compilateur à passer dans la fonction page_load:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    override protected void OnInit(EventArgs e)
    {
        this.Load += new System.EventHandler(this.Page_Load);
        base.OnInit(e);
    }
    si jamais ça peut vous servir...

    Merci

  2. #2
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Ajoute la propriété AutoPostBack=true et met une méthode sur le OnSelectedIndexChanged

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Du coup si je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListBox id="lb_UserListe" runat="server" Width="139px" Height="272px" OnSelectedIndexChanged="Rechercher(this.selectedItem.Label)" AutoPostBack=true></asp:ListBox>
    J'ai une erreur parce qu'il ne connait pas SelectedItem:
    'ASP.administration_aspx' does not contain a definition for 'selectedItem'
    administration.aspx étant le nom de ma page.

  4. #4
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    SelectedItem avec un grand S

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    pareil

  6. #6
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Oups pardon, this correspond à la page directement.

    Ajoute plutôt dans ton code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);
    Et ta méthode Rechercher devra avoir comme paramètre : Et tu récupères ta ListBox ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((ListBox)o).SelectedItem.Text
    Ou sinon tu met à la place de this.SelectedItem.Label,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.((ListBox)FindControl("lb_UserListe")).SelectedItem.Text

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Pkoi faut faire tout ça?? Ya pas une fonction toute con comme pour la page_load??
    Enfin j'ai essayé mais j'ai une erreur:
    Invalid token '+=' in class, struct, or interface member declaration
    par rapport à la ligne ajoutée dans le code behind:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);

  8. #8
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);
    Tu as mis ca dans le InitializeComponent ou le PageLoad ? Parce que si c'est pas le cas, il faut le faire.

  9. #9
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    arf, décidement j'ai du mal avec ça...
    Maintenant j'ai une autre erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     'Connection.tri_admin.lb_UserListe' denotes a 'field' where a 'class' was expected
    sur la ligne de la création de ma listbox...

  10. #10
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Ben montre nous comment ta ListBox est créée

  11. #11
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    enfin c'est sur la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListBox id="lb_UserListe" runat="server" Width="139px" Height="272px" AutoPostBack="true" OnSelectedIndexChanged="Rechercher(((lb_UserListe)o).SelectedItem.Text)"></asp:ListBox>

  12. #12
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    En fait c'est soit ça :
    Citation Envoyé par BiMouXeTTe
    Ajoute plutôt dans ton code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);
    Et ta méthode Rechercher devra avoir comme paramètre : Et tu récupères ta ListBox ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((ListBox)o).SelectedItem.Text
    Soit ça, mais pas les deux !
    Citation Envoyé par BiMouXeTTe
    Ou sinon tu met à la place de this.SelectedItem.Label,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.((ListBox)FindControl("lb_UserListe")).SelectedItem.Text

  13. #13
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Ben justement tu m'as dit que pour récupérer dans ma listbox il fallait mettre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((ListBox)o).SelectedItem.Text
    C'est ce que je fais pour récupérer l'item que l'utilisateur à sélectionner.

  14. #14
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Bon je ne sais plus trop ou nous en sommes.

    Montre moi, ta ligne de code ASPX, ton code behind correspondant à la ListBox.

    Essayes de faire ca sous forme hiérarchique :
    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
    namespace TonProjet
    {
      //using...
     
      public class TaPage : Page
      {
          PageLoad(object o, EventArgs e)
          {
             ...
             taListBox.TrucMuche
             ...
          }
     
          //etc...
      }
    }

  15. #15
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    T'as raison on va tout reprendre ca sera plus simple!
    Voici ma ligne de déclaration de ma listbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListBox id="lb_UserListe" runat="server" Width="139px" Height="272px" AutoPostBack="true" OnSelectedIndexChanged="Rechercher(((lb_UserListe)o).SelectedItem.Text)"></asp:ListBox>
    Et voici mon code behind:
    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
     
    namespace Connection {
        using System;
        using System.Data;
        using System.Data.OleDb;
        using System.Web.UI;
        using System.Web.UI.WebControls;
     
        public class tri_admin : System.Web.UI.Page
        {
            public void Page_Load(object sender, System.EventArgs e)
            {
                lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);
     
               ...
            }
            public void Rechercher(object o, EventArgs e)
            {
                ...
            }
        }
    }
    Voilà tu as tout, je n'ai pas mis le code des fonction Page_Load() et Rechercher() sinon ça aurait été beacoup trop long!!
    Mais ma fonction Rechercher() ne doit pas être dans page_load si? Parce qu'on ne veut pas s'en servir à l'ouverture de la page? C'est ça??

  16. #16
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:ListBox id="lb_UserListe" runat="server" Width="139" Height="272" AutoPostBack="true"/>
    EDIT : PageLoad est une méthode, Rechercher en est une autre

    PS : Comme tu m'as présenté ton code c'est parfait !

  17. #17
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Super génial méga cool!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    BiMouXeTTe
    Décidemment je sais pas ce que je ferais sans toi... ou plutôt si mais se serait pas fameux!!!!

    Bon une dernière question...
    Là il me réexécute à chaque fois la fonction page_load(), il n'y a pas une fonction du style ispageload pour éviter ça?

    Encore merci!!!!!!

  18. #18
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Ah non ca t'y peut pas grand chose par contre pour éviter de réinitialiser ta page t'as une propriété IsPostBack

  19. #19
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    sniff, si je fais un !IspostBack dan sma fonction page_load, il ne rentre plus dans ma fonction rechercher():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            public void Page_Load(object sender, System.EventArgs e)
            {
                if (!IsPostBack)
                {
                     ...
                }
            }
    grrrrrrrr, c'était trop beau...

  20. #20
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void Page_Load(object sender, System.EventArgs e)
    {
       if (!IsPostBack)
       {
          ...
       }
       lb_UserListe.SelectedIndexChanged+=new EventHandler(Rechercher);
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Débutant] Appeler une fonction C# code Behind depuis le aspx en Javacript
    Par SultanGeek dans le forum ASP.NET
    Réponses: 8
    Dernier message: 26/06/2015, 15h40
  2. Réponses: 1
    Dernier message: 29/05/2014, 10h50
  3. [C#] creer et afficher une table en code behind
    Par shams dans le forum ASP.NET
    Réponses: 9
    Dernier message: 13/07/2005, 16h51
  4. Réponses: 3
    Dernier message: 17/06/2004, 16h32
  5. Execution d'une fonction lors de l'appui sur CTRL+ALT+I
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 17/03/2004, 01h35

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