Mickey VB
Messages postés50Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 janvier 2007
-
12 avril 2006 à 11:15
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
12 avril 2006 à 16:25
Bonjour,
dans un gridview j'ai insérer une colonne avec des images et un évènement onclick qui fait changer l'image affichée (ASP 2.0) :
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 avril 2006 à 14:22
Bonjour,
je ne vois pas de problème ! tu changes tes images via javascript, comment voudrais tu que le serveur sache que tu as modifié tes images ? il faudrais stocker les images modifié dans un input hidden (via js), et ainsi coté serveur tu pourras recuperer le input hidden et voir ce qui a été fait coté client :)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 avril 2006 à 15:25
Qu'est-ce qu'il a de derangeant de le mettre à l'exterieur du gridview ? au contraire ce sera beaucoup plus performant car tu écriras moins de choses dans la page (donc plus legere) aprés il faudra faire une fonction js qui serialise ses informations dans un seul champs (rien de trés compliqué) et pareil coté serveur :)
et au lieu d'ecrire à chaque image onclick="JavaScript:if (this.src==tab_image[1].src) {this.src=tab_image[0].src;} else {this.src=tab_image[1].src;}" écrit plutot onclick="unefonction" et rajoute avec page.clientScript.registerStartupScript une fonction js a ta page !
Mickey VB
Messages postés50Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 janvier 2007 12 avril 2006 à 15:41
Je vois ce que tu veux dire.
Bon alors j'ai une question idiote:
Comment je mentionne dans ma fonction qu'elle image a été modifiée.
Car si j'ai 50 lignes dans mon datagrid, je dois repérér dans la valeur de mon input quelle ligne j'ai modifié.
J'ai l'impression de tourner en rond avec ce pb.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 avril 2006 à 15:53
var unefonction = function()
{
// this correspond à l'image sur laquelle t'as cliqué
alert(this.id); // te retournera le ClientID de l'image
}
sinon
)"
runat="server"
/>
var unefonction = function(elmt, pk)
{
//elmlt correspond à l'image que t'as clické
//pk a la clé primaire de la ligne
elmt.src (elmt.src tab_image[1].src) ? tab_image[0].src : tab_image[1].src;
// je gere pas si le gars click plusieurs fois dessus, faudrais d'abord deserialiser avec un split(';') etc...
document.getElementById('inputhidden').value += pk + '=' + ((elmt.src == tab_image[1].src) ? 0 : 1) + ';';
Mickey VB
Messages postés50Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention15 janvier 2007 12 avril 2006 à 15:58
Alors je suis ton raisonnement, sauf pour <% ta clé %>
Je la sors d'ou?
C'et un gridview donc qu'une ligne pour l' img.
don comment je peux récupérer le numéro de la ligne?