Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

passage de paramètres dans une url

5 réponses
Avatar
Sebastien
Bonjour,
est ce que vous pourriez m'aider sur mon probl=E8me de=20
passage de param=E8tre dans une url :

j'ai un datagrid avec une colonne de lien hypertexte qui=20
marchait tr=E8s bien quand dans Chaine de format de l'URL=20
j'avais :

Detail_Technique.aspx?id=3D{0}

le probl=E8me est que maintenant j'ai des modifs a faire et=20
je dois passer 2 param=E8tres cad de la forme :

Detail_Technique.aspx?id=3D{0}&toto=3D{4}

mais ca me fait planter mon programme quand j'arrive sur=20
la ligne de code :
mondatagrid.databind();

avec l'erreur suivante :
L'index (de base z=E9ro) doit =EAtre sup=E9rieur ou =E9gal =E0 z=E9ro=20
et inf=E9rieur =E0 la taille de la liste des arguments.=20

Le probl=E8me est r=E9solu quand je reviens qu'=E0 un seul=20
param=E8tre ...
Est ce une erreur de syntaxe ?
Comment je pourrais r=E9soudre ce probl=E8me ?

Merci beaucoup par avance.

S=E9bastien

5 réponses

Avatar
Peut-être pourrais-tu nous en dire plus sur la fonction
qui te permet de remplir ton datagrid (ses arguments) ?
Pourquoi mets tu des parenthèses autour des valeurs
passées dans l'url ?
Normalement tu peux faire mapage.aspx?id=4&id2.
Non ?

-----Message d'origine-----
Bonjour,
est ce que vous pourriez m'aider sur mon problème de
passage de paramètre dans une url :

j'ai un datagrid avec une colonne de lien hypertexte qui
marchait très bien quand dans Chaine de format de l'URL
j'avais :

Detail_Technique.aspx?id={0}

le problème est que maintenant j'ai des modifs a faire


et
je dois passer 2 paramètres cad de la forme :

Detail_Technique.aspx?id={0}&toto={4}

mais ca me fait planter mon programme quand j'arrive sur
la ligne de code :
mondatagrid.databind();

avec l'erreur suivante :
L'index (de base zéro) doit être supérieur ou égal à


zéro
et inférieur à la taille de la liste des arguments.

Le problème est résolu quand je reviens qu'à un seul
paramètre ...
Est ce une erreur de syntaxe ?
Comment je pourrais résoudre ce problème ?

Merci beaucoup par avance.

Sébastien
.



Avatar
oui désolé du manque d'explication.
Bon alors en simplifiant j'ai un datagrid avec 3 colonnes :
2 en colonnes connexe
1 en colonne de lien hypertexte

en cliquant sur un des élements de la colonne hypertexte,
je voudrais récupèrer les élements des colonnes connexes
de la ligne du lien hypertexte et les passer en paramètres.

Dans les propriétés du datagrid pour la colonne
hypertexte, on doit préciser le champ que l'on ve
récupèrer (Champ URL) puis donner la chaine de format de
l'url.

Le problème est que dans "chaine de format de l'url", je
voudrais donc mettre Detail_Technique.aspx?id={0}&id={1}
alors que "Champ URL" ne prend qu'un seul paramètre.

Pour répondre à ta question le {0} renvoit donc au champ
url que tu as rempli. et je ne connais pas par avance les
champs qui seront passés en paramètre puiskil s'agit des
champs de la ligne sélectionée.

voila j'espère avoir été plus clair...
en tout cas merci d'avoir répondu

Sébastien

ps : pour le moment j'ai "résolu" le problème en créant
une colonne invisible dans mon datagrid dans laquelle je
stocke la concaténation des 2 chaines que je voulais
récupèrer. C'est donc cette concaténation que je passe en
1 paramètre et j'arrive ensuite à l'exploiter en la
redécoupant .. mais bon .. je ne trouve pas cela
optimal ...
-----Message d'origine-----
Peut-être pourrais-tu nous en dire plus sur la fonction
qui te permet de remplir ton datagrid (ses arguments) ?
Pourquoi mets tu des parenthèses autour des valeurs
passées dans l'url ?
Normalement tu peux faire mapage.aspx?id=4&id2.
Non ?

-----Message d'origine-----
Bonjour,
est ce que vous pourriez m'aider sur mon problème de
passage de paramètre dans une url :

j'ai un datagrid avec une colonne de lien hypertexte qui
marchait très bien quand dans Chaine de format de l'URL
j'avais :

Detail_Technique.aspx?id={0}

le problème est que maintenant j'ai des modifs a faire


et
je dois passer 2 paramètres cad de la forme :

Detail_Technique.aspx?id={0}&toto={4}

mais ca me fait planter mon programme quand j'arrive sur
la ligne de code :
mondatagrid.databind();

avec l'erreur suivante :
L'index (de base zéro) doit être supérieur ou égal à


zéro
et inférieur à la taille de la liste des arguments.

Le problème est résolu quand je reviens qu'à un seul
paramètre ...
Est ce une erreur de syntaxe ?
Comment je pourrais résoudre ce problème ?

Merci beaucoup par avance.

Sébastien
.



.



Avatar
Merci pour les précisions.
En fait, je comprends ton problème, mais dans mes pages
je ne le gère pas comme toi.
Si tu veux je t'explique ma méthode :
En général au lieu de faire un link, je fais un
buttoncolums (ou je mets la valeurs modifier, supprimer
par exemple)
Ensuite, je déclare dans la fonction OnItemCommand du
datagrid.
Ensuite dans le code-behind de ta page, tu écris ta
fonction qui sera appelée grêce au OnItemCommand.
Tu mets un test if (e.CommandName == "Delete" ||
e.CommandName == "Update")

et ensuite tu fais :
if((((LinkButton)e.CommandSource).CommandName)=="Update")
et là dedans tu peux gérer tes response.redirect, et
passer tous les paramètres que tu veux...

Je ne suis pas sure que cette solution soit la meilleure,
mais au moins elle a le mérite de marcher... Et puis on
s'y retrouve assez facilement finalement.

Sinon, j'espère que quelqu'un de plus calé sur le sijet
pourra t'indiquer comment faire ce que tu veux
plus "proprement".

Bon courage.



-----Message d'origine-----
oui désolé du manque d'explication.
Bon alors en simplifiant j'ai un datagrid avec 3


colonnes :
2 en colonnes connexe
1 en colonne de lien hypertexte

en cliquant sur un des élements de la colonne


hypertexte,
je voudrais récupèrer les élements des colonnes connexes
de la ligne du lien hypertexte et les passer en


paramètres.

Dans les propriétés du datagrid pour la colonne
hypertexte, on doit préciser le champ que l'on ve
récupèrer (Champ URL) puis donner la chaine de format de
l'url.

Le problème est que dans "chaine de format de l'url", je
voudrais donc mettre Detail_Technique.aspx?id={0}&id={1}
alors que "Champ URL" ne prend qu'un seul paramètre.

Pour répondre à ta question le {0} renvoit donc au champ
url que tu as rempli. et je ne connais pas par avance


les
champs qui seront passés en paramètre puiskil s'agit des
champs de la ligne sélectionée.

voila j'espère avoir été plus clair...
en tout cas merci d'avoir répondu

Sébastien

ps : pour le moment j'ai "résolu" le problème en créant
une colonne invisible dans mon datagrid dans laquelle je
stocke la concaténation des 2 chaines que je voulais
récupèrer. C'est donc cette concaténation que je passe


en
1 paramètre et j'arrive ensuite à l'exploiter en la
redécoupant .. mais bon .. je ne trouve pas cela
optimal ...
-----Message d'origine-----
Peut-être pourrais-tu nous en dire plus sur la fonction
qui te permet de remplir ton datagrid (ses arguments) ?
Pourquoi mets tu des parenthèses autour des valeurs
passées dans l'url ?
Normalement tu peux faire mapage.aspx?id=4&id2.
Non ?

-----Message d'origine-----
Bonjour,
est ce que vous pourriez m'aider sur mon problème de
passage de paramètre dans une url :

j'ai un datagrid avec une colonne de lien hypertexte






qui
marchait très bien quand dans Chaine de format de






l'URL
j'avais :

Detail_Technique.aspx?id={0}

le problème est que maintenant j'ai des modifs a faire


et
je dois passer 2 paramètres cad de la forme :

Detail_Technique.aspx?id={0}&toto={4}

mais ca me fait planter mon programme quand j'arrive






sur
la ligne de code :
mondatagrid.databind();

avec l'erreur suivante :
L'index (de base zéro) doit être supérieur ou égal à


zéro
et inférieur à la taille de la liste des arguments.

Le problème est résolu quand je reviens qu'à un seul
paramètre ...
Est ce une erreur de syntaxe ?
Comment je pourrais résoudre ce problème ?

Merci beaucoup par avance.

Sébastien
.



.



.



Avatar
Seb
Merci d'avoir pris le temps de me répondre.
Je ne vais malheureusement pas pouvoir utiliser ta méthode
car dans mon datagrid, j'utilise déjà une colonne de
bouton qui permet de sélectionner la ligne et de valider.
Comme mon appli est déjà "en service" (production ou
intégration , je ne sais plus le terme ... je ne suis kun
pti stagiaire bac+3 lol), je risquerai de perturber les
utilisateurs en rajoutant une colonne bouton et en
supprimant la colonne lien hypertexte ! lol

Je vais pour le moment garder ma solution de concaténation
de chaîne qui marche.

Merci beaucoup de ton aide

Sébastien
Avatar
Désolée que ma solution ne convienne pas...
En tout cas j'espère que tu trouveras un moyen de faire
ce que tu veux, sans utiliser la "bidouille" de
concaténation.
Moi aussi je suis une petite stagiaire bac+3 alors on
peut bien s'entraider !

A+ et bon courage

-----Message d'origine-----

Merci d'avoir pris le temps de me répondre.
Je ne vais malheureusement pas pouvoir utiliser ta


méthode
car dans mon datagrid, j'utilise déjà une colonne de
bouton qui permet de sélectionner la ligne et de valider.
Comme mon appli est déjà "en service" (production ou
intégration , je ne sais plus le terme ... je ne suis


kun
pti stagiaire bac+3 lol), je risquerai de perturber les
utilisateurs en rajoutant une colonne bouton et en
supprimant la colonne lien hypertexte ! lol

Je vais pour le moment garder ma solution de


concaténation
de chaîne qui marche.

Merci beaucoup de ton aide

Sébastien
.