cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009
-
9 déc. 2007 à 20:25
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009
-
12 déc. 2007 à 14:18
Bonjour,
J'ai une GridView avec des ImageButton en display:none.
Je voudrais activer la commande de ces boutons via un menu contextuel.
Ca marche nickel sous IE7.
Sous Firefox, il me fait un postback simple sans passer par mon évènement OnRowCommand.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 9 déc. 2007 à 20:43
Bonjour,
regarde avec fiddler ou httpwatch les requetes http qui transite et regarde les différences entre les deux. Tu trouveras surement une différence et donc l'explication du problème :)
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009 10 déc. 2007 à 12:31
Bonjour,
J'ai regardé dans fiddler, juste avant juqu'à l'affichage de la page après évènement :
- Dans IE7 : je vois passer une trame vers ma page active de 52 octets : pageRedirect||//...
- Dans FireFowx 2.0.0.11 : Je vois un appel complet à ma page (environ 90Ko).
Donc rien d'extraordinaire.
Pour info (rappel):
J'ai des colonnes dans ungridview qui représentent des imagebutton je les mets à display:none dans le RowDataBound en précisant une CommandName.
Depuis IE, j'appelle le click() du bouton (en javascript) qui me déclenche le OnRowCommand de mon GridView : Ok ça marche nickel.
Depuis FireFox, le click() se déclenche, mais fait un postback tout bete sans passé par mon évènement... ;-(
Avec Fiddler que puis-je regarder d'autres ?
Est-ce un bug de FireFox ?
Pour info, J'ai mis EnableEventValidation à false dans ma page.
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009 10 déc. 2007 à 13:42
Bizarre ce que tu dis, j'ai un ImageButton en display:none dans un GridView.
Dans le RowDataBound, je place un onclick="alert('a');"
Et depuis IE ou FF, j'ai bien mon message qui apparait...
gldfdp
Messages postés90Date d'inscriptionlundi 30 juin 2003StatutMembreDernière intervention21 février 2008 10 déc. 2007 à 13:50
Zoizoi: onclick marchera, mais tonbutton.click() qui simule le fait qu'un utilisateur clique sur ton image ne marchera pas avec ff. Après ca je n'ai peut être aps tout compris à ce que tu voulais faire
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009 10 déc. 2007 à 14:16
En fait Grégoire, je viens de m'apercevoir que tu avais répondu à mon poblème.
Il s'agit, je pense, en effet du monbouton.click(); qui ne fonctionne pas sous FF.
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009 10 déc. 2007 à 14:27
En fait je n'en suis pas si sûr, car en mettant la ligne du display none en commentaire, ca marche dans les 2 navigateurs.
Donc on peut dire que le monbouton.click() sous FF fonctionne, mais par lorsqu'il est invisible.
Apparemment, pas trop de solution : j'utilise des ImageButton et non des Button (du coup pas de UseSubmitBehavior).
Encore une fois, je viens de refaire l'essai :
Dans le OnRowDataGrid, je rajoute un attribut display = none et onclick="alert('a');'
Dans IE, j'ai mon message et le OnRowCommand déclenché.
Dans FF, j'ai le mon message, mais toujours pas l'évènement.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 10 déc. 2007 à 21:04
Ca peut se comprendre, meme si c'est pas trop logique de la part de FF, si le bouton est invisible alors on peut pas clicker dessus.
Tu peux essayer d'utiliser style="position:absolute; top:-1000px;left:-1000px;" ..
Mais quel interet de mettre un imagebutton invisible ? Mon controle PostBackControl me semble tout indiqué dans ce genre de cas (enfin ce que j'en ai compris ;))
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 10 déc. 2007 à 21:04
Au fait, ce qui est interessant n'est pas la réponse (puisqu'elle est différente) mais la requête qui a entrainé une réponse différente, c'est ici qu'il y a pleins d'infos interessante :-)
cs_Zoizoi
Messages postés29Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention13 juillet 2009 11 déc. 2007 à 11:09
Salut,
En effet, c'est un peu ridicule de mettre en place des imagesbuttons et d'exploiter le commandname dans la gridview, sachant qu'ils ne doivent pas être affichés !
Du coup, j'utilise le __doPostBack (comme suggéré par Greg) avec mes arguments EventTarget et EventArgument qui vont bien.
Dans le PageLoad, j'analyse ce que j'ai envoyé et j'appelle le bon traitement.