Bonjour tout le monde,
Je veux passer deux variables dans commandargument d'un linkbutton en asp.net
Merci
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.
c'est avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part Eval ("nomvariable") ?
«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.
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.
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.
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.
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.
Tu peux procéder avec quelque chose de ce style :
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='<%# DataBinder.Eval(Container.DataItem, "ChampBD") + | + 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 <asp:LinkButton id="LBSelect" runat="server" CommandName="select" CommandArgument='<%# ConcatenateArgs(DataBinder.Eval(Container.DataItem, "ChampBD1"), DataBinder.Eval(Container.DataItem, "ChampBD2")%>'>Select</asp:LinkButton>
Enfin, dernière méthode, tu le fais dans l'évènement rowDataBound de ta gridview
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 }
Attention, j'ai tapé le code ici. Il faudra donc peut être que tu l'adaptes et/ou le corrige.
Pour la 2 eme:
Desole, qu'est ce que je fais dans le rowdatabound ?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
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.
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 } }
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.
Essaie avec ceciPuis dans l'evenement OnRowCommand:
Code : Sélectionner tout - Visualiser dans une fenêtre à part CommandArgument='<%#Eval("idprofil") + ";" +Eval("profil1")%>'
A toi de l'adapter dans ton code.
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+
Pour la 1ere methode de calagan99, il fallait juste ajoutera""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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager