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 :

passer deux variables dans commandargument d'un linkbutton


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut passer deux variables dans commandargument d'un linkbutton
    Bonjour tout le monde,
    Je veux passer deux variables dans commandargument d'un linkbutton en asp.net
    Merci
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  2. #2
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    c'est avec
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Tu peux par exemple concaténer les deux variables que tu veux passer en les séparant par un "|" ou tout autre caractère dont tu es sûr qu'il n'apparaitra pas dans le contenu de tes variables.

  4. #4
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    Et apres ?
    Est ce que tu peux me donner plus d'informations a ce sujet ?
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Avec toute la bonne volonté du monde, vu le peu d'informations que tu donnes, je ne vois pas comment je pourrais t'en dire plus...
    Poste au moins un peu de code et décris précisément ce que tu cherches à faire, j'ai malheureusement égaré ma boule de cristal.

  6. #6
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    Ok,

    J'ai un gridview qui charge un table de la BD et qui contient un linkbutton select en template field.
    Je veux recuperer les 2 champs de la ligne selectionnée en les passant dans un commandargument si c'est possible ?
    Merci
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Tu peux procéder avec quelque chose de ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:LinkButton id="LBSelect" runat="server" CommandName="select"
    CommandArgument='<%# DataBinder.Eval(Container.DataItem,
    "ChampBD") + | + DataBinder.Eval(Container.DataItem,
    "ChampBD2"%>')>Select</asp:LinkButton>
    Sinon, tu as la possibilité d'appeler une fonction comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:LinkButton id="LBSelect" runat="server" CommandName="select"
    CommandArgument='<%# ConcatenateArgs(DataBinder.Eval(Container.DataItem,
    "ChampBD1"), DataBinder.Eval(Container.DataItem,
    "ChampBD2")%>'>Select</asp:LinkButton>
    Avec, dans ton .cs la fonction suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public string ConcatenateArgs(string arg1, string arg2)
    {
    return arg1 + "|" + arg2
    }
    Enfin, dernière méthode, tu le fais dans l'évènement rowDataBound de ta gridview

    Attention, j'ai tapé le code ici. Il faudra donc peut être que tu l'adaptes et/ou le corrige.

  8. #8
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    Pour la 2 eme:

    Compilation Error
    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

    Compiler Error Message: CS1502: The best overloaded method match for profil.Liste.ConcatenateArgs(string, string)' has some invalid arguments

    Source Error:



    Line 105: <asp:TemplateField ShowHeader="False">
    Line 106: <ItemTemplate>
    Line 107: <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
    Line 108: CommandName="Select" Text="Select"
    Line 109: CommandArgument='<%# ConcatenateArgs(DataBinder.Eval(Container.DataItem,"idprofil"),DataBinder.Eval(Container.DataItem,"profil1"))%>'></asp:LinkButton>

    Line: 107
    Desole, qu'est ce que je fais dans le rowdatabound ?
    Merci
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  9. #9
    Membre éclairé Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Points : 755
    Points
    755
    Par défaut
    Citation Envoyé par hmimoud Voir le message
    Desole, qu'est ce que je fais dans le rowdatabound
    Tu vas rien faire dans le rowdatabound event .En fait c'est plutôt dans l’événement OnRowCommand.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void GridView1_RowCommand(Object sender, GridViewCommandEventArgs e)
     {
         if(e.CommandName=="select")
        {
            //ton traitement ici
        }
    }

  10. #10
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    Et qu'en est-il du message d'erreur ?
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

  11. #11
    Membre éclairé Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Points : 755
    Points
    755
    Par défaut
    Essaie avec ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandArgument='<%#Eval("idprofil") + ";" +Eval("profil1")%>'
    Puis dans l'evenement OnRowCommand:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    string data= e.CommandArgument.ToString();
    string[] arg=new string[2];
    char[] splitter= {';'};
    arg = info.Split(splitter);
    string id=arg[0];
    string profil=arg[1];
    A toi de l'adapter dans ton code.
    A+

  12. #12
    Membre habitué Avatar de hmimoud
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 135
    Points : 136
    Points
    136
    Par défaut
    Pour la 1ere methode de calagan99, il fallait juste ajouter
    ""
    a
    |
    pour faire
    "|"
    , pour que ca marche.
    Pour la 2eme methode, la fonction de concatenation accepte comme argument des string alors que les variables sont autre chose.

    Pour la methode de Ramajb, elle ressemble à celle de la 1ere de calagan99, sauf qu'elle est plus simple et plus breve, et à la place de ";" , calagan99 a mit le "|", l'important c'est que le separateur soit mis entre guillemets.=>ca marche !


    Merci à Ramajb et à Calagan99
    «Les savants des temps passés et des nations révolues n’ont cessé de composer des livres. Ils l’ont fait pour léguer leur savoir à ceux qui les suivent. Ainsi demeurera vive la quête de la vérité. »
    Al Khwarizmi, père de l'algèbre et des algorithmes.

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

Discussions similaires

  1. Passer une variable dans une requête SQL
    Par Remedy dans le forum C++
    Réponses: 2
    Dernier message: 11/05/2006, 16h48
  2. [VBA]Passer une variable dans une formule Excel
    Par David1974 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/01/2006, 16h52
  3. Réponses: 6
    Dernier message: 19/12/2005, 13h41
  4. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/03/2005, 15h23

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