Comment utiliser ASP.Net et javascript

atmeitsatme Messages postés 58 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 15 novembre 2006 - 23 mars 2006 à 14:35
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 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?

6 réponses

fduchamp Messages postés 13 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 10 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>")

j espere que cela repond a ta question.
0
atmeitsatme Messages postés 58 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 15 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).
0
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 3
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...

Nurgle (Antoine)
0
atmeitsatme Messages postés 58 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 15 novembre 2006
23 mars 2006 à 19:32
Merci pour ta réponse,
Je pourrais aussi bien insérérer ma function javascript dans le code html de ma page
Mais dans ma page aspx j'ais :


et donc je ne sais pas comment faire pour faire pointer la propriété OntextChanged vers ma fonction javascript
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 3
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();"

Nurgle (Antoine)
0
ranouf Messages postés 237 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 31 août 2009
28 nov. 2006 à 11:15
Bonjour,

Dans cette solution proposée :
OnTextChanged="TextBoxLongueur_TextChanged"

Comment peut on faire pour passer des paramètres à cette fonction ?
0