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?
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>")
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).
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...
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();"