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

  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.

  7. #7
    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
    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.
    Pourquoi? dois-je partir dans une autre direction?

  8. #8
    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
    y a milles solutions possibles.
    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.
    tu pourrais faire une maquette très rapide qui dit l'affichage que tu veux faire.

    N'oublie pas que normalement, la plupart du code se trouve en code behind et pas dans la page "html" comme tu as l'air de le faire. C'est justement parce que tu agis de cette façon que tu te rends compte des limitations que cela entraine.


    sinon y a aussi la solution de tout charger si tu sais que tu n'as pas trop d'info et de jouer avec le Javascript pour cacher/afficher les infos clients en fonction du click.

  9. #9
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Même sans passer par un gridview, dans ce cas un Repeater me semble plutot adapté compte du... euh... "truc" existant.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  10. #10
    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
    j'ai changer ma structure générale.

    j'utilise donc maintenant des UserControle et MasterPage.

    je reviens vers vous si je ne parviens pas à faire mon tableau en .NET.

  11. #11
    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
    j'aimerais remplir le gridview avec des infos personnalisés:

    vide Nom Prenom => entete colonne
    bouton1 DURAND Maurice
    bouton2 MARTIN Pascal
    .........

    quel object utiliser pour l'intégrer ensuite au gridview.
    me permettant de définir mes noms de colonnes sans faire de SQL.

  12. #12
    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
    DataTable.
    tu crées un DataTable, tu remplis tes colonnes (faut les créer) en mettant
    id - nom - prénom
    puis ensuite tu pourrais binder cette datable à ta gridview. les lignes se rempliront toutes seuls et le bouton prendra un paramètre dynamique de ton choix (l'id par exemple) que tu pourras récupérer dans les paramètres de sa méthode click

  13. #13
    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
    super! marche impec!

+ 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