atmeitsatme
Messages postés58Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention15 novembre 2006
-
23 mars 2006 à 14:35
ranouf
Messages postés237Date d'inscriptionmercredi 18 décembre 2002StatutMembreDernière intervention31 août 2009
-
28 nov. 2006 à 11:15
Bonjour,
J'ais une dropdownlist sur une webform aspx.
J'ais un traitement coté serveur et je me demandais si je pouvais faire des lié des donction javascript à mon control dropdownlist.
Si quelqu'un peur m'aider?
fduchamp
Messages postés13Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention10 avril 2006 23 mars 2006 à 17:24
dans le code asp tu peux executer une fonction javascript qui est dans ta page asp en utilisant la fonction HttpContext.Current.Response.Write("<script>...</Script>)
exemple retournant une valeur dans un controle du formulaire d appel et fermant la fenetre popup:
HttpContext.Current.Response.Write("<script language=javascript> window.opener.document.getElementById(""" + NomControl+ """).value = " + ValeurControl+ ";window.close();</script>")
atmeitsatme
Messages postés58Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention15 novembre 2006 23 mars 2006 à 18:35
Merci pour ta réponse, mais ma question était l'inverse.
En fait, dans ma page aspx je possède une TextBox.
J'ais créé une méthode dans le fichier .cs qui répond à lévénement TextChanged.
Dans cette méthode je controle si c'est bien une valeur numérique qui à été entrée.
Donc ce controle ce fait sur le serveur.
Moi j'aurais voulus savoir, comment je peut faire ce controle à l'aide d'une fonction javascript, pour qu'il s'éxecute sur le client (et non sur le serveur pour un gain de temps).
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 23 mars 2006 à 19:21
Eh bien oui, tu peux effectuer cette fonction via javascript.
Tu dois donc mettre ne pas mettre de méthode correspondant à ton évènement TextChange.
Et dans le PageLoad de ta page, tu vas rajouter un script comme ceci :
En ASP.NET 1.x :
Page.RegisterClientScriptBlock("un_block"," function verifieNumeric() ....");
En ASP.NET 2 :
Page.ClientScript.RegisterClientScriptBlock(this,"un_block"," function verifieNumeric() ...",true);
Où tu remplacera le texte en italique par la fonction javascript. Tu risque d'avoir besoin dans cette fonction de l'ID client de ta TextBox, tu peux l'obtenir en faisant this.ClientID
(Un petit rappel pour fduchamp :
Ne jamais utiliser Response.Write pour écrire des blocs
de script ! Cette méthode date de l'ASP3, et, quand même, depuis ces
temps barbares et immémoriaux , on a évolué un peu
: on utilise plutôt ces méthodes de l'objet Page, qui sont beaucoup
plus propre, surtout au niveau de l'emplacement du
bloc dans le flux HTML...)
Après, pour la fonction javascript, tu devrais aller chercher sur [../siteal.aspx?S=6 javascriptfr.com], parce que...en ce moment, mes connaissances sur javascript sont en vacances...
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 23 mars 2006 à 20:19
C'est une bonne idée, mais malheureusement, je crois bien que OnTextChanged permet uniquement d'associer une méthode côté serveur à l'évènement, et pas une fonction javascript
Donc, il ne reste plus que ma solution...
Ah aussi : met autopostback à False, sinon ta fonction javascript ne sera peut être pas exécutée (la fonction javascript de l'autopostback la remplacera)...
Ensuite, tu peux faire appeler ta fonction en faisant quelque chose dans ce genre là :
TextBox.Attributes("onchange") = "verifieNumeric();"