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 :

probleme avec _click


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut probleme avec _click
    je fais dans une page aspx un tableau de 10 client:
    bouton raisonSocialeClient .... adresseClient ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
         <% for(int i=0;i<10;i++){%>
               <tr>
                    <td>
                    <asp:imagebutton id="afficheContact" src="../../../affichage/icone/001.gif" title="afficher le contact" runat="server" onclick="afficheContact_Click" style="width: 15px; height: 15px"></asp:imagebutton>
                    </td>
                    <td>
                        <%=((Client) lstClient.getElement(i)).raisonSociale %>
                    </td>
                </tr>
    ....
         <% } %>
    quand l'utilisateur clic sur l'un des boutons la fiche détaillée du contact s'affiche via (je retrouve mon client grace à i qui est en faite un index):
    C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        protected void afficheContact_Click(object sender, EventArgs e)
        {
            afficherClient(i);
        }
    Comment récupérer i dans "afficheContact_Click"???

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Il marche ce code ?

    Parce que je suis pas sûr que ASP.NET apprécie beaucoup 10 contrôles ayant le même nom "afficheContact".

    En plus, on dirait plus de l'ASP que de l'ASP.NET, je te conseille de lire quelques cours sur le sujet.
    Il y a des méthodes beaucoup plus élégantes de faire ça que le code que tu as pondu ici.

    Bon, une solution comme une autre : ajouter à l'id le i ... dans l'événement, il suffirait alors de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Control control = (Control)sender;
    int i = Convert.ToInt32(control.Id.Replace("afficheContact", ""));

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Il marche ce code ?

    Parce que je suis pas sûr que ASP.NET apprécie beaucoup 10 contrôles ayant le même nom "afficheContact".

    En plus, on dirait plus de l'ASP que de l'ASP.NET, je te conseille de lire quelques cours sur le sujet.
    Il y a des méthodes beaucoup plus élégantes de faire ça que le code que tu as pondu ici.

    Bon, une solution comme une autre : ajouter à l'id le i ... dans l'événement, il suffirait alors de faire :
    oui, ca marche mais quand je veux mettre en nom d'objet "afficheContact" concaténé avec i, ça ne marche pas.

    J'ai lu pas mal de cours mais mes anciennes habitudes reste présentes!!
    peux tu m'expliquer comment tu feras en ASP.NET?
    ça m'aiderais beaucoup!

  4. #4
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    oui, ca marche mais quand je veux mettre en nom d'objet "afficheContact" concaténé avec i, ça ne marche pas.
    comment ca marche pas? si tu fais cela au moment du design et que c'est "statique", il n'y a aucune raison ne pas pouvoir appeler tes boutons
    affichercontact1, affichercontact2, etc


    edit: j'ai compris, tu fais ta page et ton tableau comme tu ferais du php. (je faisais pareil )
    pourquoi n'utilise pas un gridview, toujours avec un bouton qui peut à se moment là, contenir un paramètre variable. Tu n'as qu'à remplir un DataTable, contenant par exemple:
    Nom, Prenom, Id, et tu bindes tes colonnes sur Nom, Prenom et Id sert de paramètre à la ButtonColumn

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mai 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mai 2007
    Messages : 59
    Par défaut
    le "gridview", je ne peux pas car j'ai dématérialiser: j'ai un objet listeClient et un autre Client. j'affiche donc les valeur de Client d'une partie de listeClient.

    je veux juste faire un tableau.


    Je prends tous conseils afin de faire du code .NET propre!

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Dans tous les cas, ça sera pas propre

    Tu peux toujours construire une HtmlTable, ajouter tes ImageButton, tes LiteralControl puis placer cette HtmlTable dans un PlaceHolder prévu à cet effet.

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

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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