Comment utiliser ASP.Net et javascript

Signaler
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006
-
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009
-
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

Messages postés
13
Date d'inscription
jeudi 27 mars 2003
Statut
Membre
Dernière intervention
10 avril 2006

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.
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006

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).
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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)
Messages postés
58
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
15 novembre 2006

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
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
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)
Messages postés
237
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
31 août 2009

Bonjour,

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

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