Instance de type JavaScript [C#]

Signaler
Messages postés
147
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2007
-
Messages postés
84
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
22 juin 2007
-
Salut,
Je créé actuellement des controls composites en ASP .Net mais je galère pas mal pour associer des scripts javascript à mes controls.. Je passe par des trucs de type :
monBouton.Attributes.Add("onclick", "javascript:maFonctionJS()");
et ça ne marche pas bien sur lol

Pour le moment j'ai donc un fichier js associé à ma page et je souhaiterai m'en débarrasser pour que mon control puisse être autonome et déployable rapidement...

Est il possible de crééer dans le code une instance de type javascript comme ceci :
protected JavaScript monScript = new JavaScript();
monScript = "blabla";
(ou JavaScript est issue d'un namespace que je ne connaiterait pas ?)
et comment fait-on pour l'associer à un composant sur un evenement client (onclick, onmousedown...)?

Par ailleur, est il possible de déterminer que le control ne s'exécute que du côté client pour éviter le rafraichissement de la page (sans passer par Atlas car je ne connai pas encore)

Merci d'avance aux dotneteurs qui pourront m'éclairer!

8 réponses

Messages postés
147
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2007

Jamais 2 sans 3 (Opera = beurk)



 


/auteurdetail.aspx?ID=116457
Salut,
Je créé actuellement des controls composites en ASP .Net mais je galère pas mal pour associer des scripts javascript à mes controls..
Je passe par des trucs de type :
monBouton.Attributes.Add("onclick", "javascript:maFonctionJS()");
et ça ne marche pas bien sur lol   

Pour le moment j'ai donc un fichier js associé à ma page et je souhaiterai m'en débarrasser pour que mon control puisse être autonome et déployable rapidement...
Est il possible de crééer dans le code une instance de type javascript comme ceci :
protectedJavaScript monScript = new JavaScript();
monScript = "blabla";
(ou JavaScript est issue d'un namespace que je ne connaiterait pas ?)
et comment fait-on pour l'associer à un composant sur un evenement client (onclick, onmousedown...)?

Par ailleur, est il possible de déterminer que le control ne s'exécute que du côté client pour éviter le rafraichissement de la page (sans passer par Atlas car je ne connai pas encore)

Merci d'avance aux dotneteurs qui pourront m'éclairer!

PS : Si quelqu'un peut me dire comment modifier/supprimer un message posté... merci
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Salut,

je n'ai pas de réponse à ta 1ère question (désolé). Pour ce qui est du code qui s'exécute côté client, je te conseil de faire des recherches du côté d'Ajax. Il me semble, par exemple, que la saisie semi-automatique du textbox de recherche de ce site fonctionne avec Ajax....

Pour modifier tes posts, ben tu peux pas. Demande à un admin qu'il le fasse pour toi.

<hr />
@+  
Messages postés
147
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2007

Pour ma première question apparament il existe une classe ClientScriptManager donc en ce moment je cherche des infos sur ça..
Apparament celà permet de lier un fichier js ou directement un script au control et à charger se script à un moment x (avant après ou de manière dynamique) mais je n'arrive pas encore à utiliser ceci..
Si quelqu'un aurait un ou plusieur exemples fonctionnels sur ça se serai cool

Pour l'exécution côté client je ne suis pas encore assez doué (je penses) pour me lancer dans de la programmation asynchrone de type ajax avec atlas... Par contre j'ai trouvé une propriété booléenne qui existe sur les boutons :
monBouton.UseSubmitBehavior
et quand elle est à false elle empeche l'envoi vers le serveur..

Allez j retourne merci drahcir!
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Cette propriété emêche l'envoi d'une requête vers le serveur, mais ça ne va peut-être pas te permettre de faire ce que tu veux...


 


J'ai un exemple de bout de code qui permet d'afficher ou de masquer une liste de CheckBox en fonction du click sur RadioButtonList. Si ça t'intéresse, fais moi signe. C'est codé en VB.NET mais ça ne devrait pas être trop compliqué de le transcrire en C#.





<hr />

@+  
Messages postés
147
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2007

Oui ça m'interesse bcp, si tu penses que celà risque de polluer tu peux me l'envoyer directement par email bubuss72@hotmail.com
Merci à toi
Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
Je ne sais pas si ça va polluer, je pense que ça pourra servir à quelques uns, donc je le post ici:






J'ai une liste de CheckBox et 2 RadioButton dans ma page, je leur attribue une fonction sur l'évènement 'onclick' :


**********mapage.aspx**********







//Un 2ème RadioButton identique avec, la fonctionEnableCBLListe(); dans 'onclick'

<





asp
:
RadioButton


id
="rBtn1"


style
="......."


onclick
="DisableCBLListe();"




runat
="server"
Width
="144px"
Height
="20px"
Font-Size
="Smaller"
Visible
"False"  Text"blabla">





Ensuite, je code ces fonctions javascript :




**********mesfonctions.js**********

function
EnableCBLChamps(){



Loged._default.EnableCheckBox(CBLChampsASync);


}




function DisableCBLListe(){




      MonProjet._default.DisableCheckBox(CBLListeASync); // Cette ligne renvoie à une fonction Ajax codée dans ta ma page "aspx.vb"




}





function




CBLListeASync(response){



      var CBLListe = document.getElementById('CBLListe');





      if(response!=null) {





      if((response.value!=null) && (response.error == null)){




      CBLListe.disabled = !response.value;




      }





      else alert(response.error);




      }





      else alert(response.error);




}




**********mapage.aspx.vb**********







Imports



AjaxPro      ' ajouter la dll Ajax.NET Professional for Microsoft.NET 2.0


AjaxPro.Utility.RegisterTypeForAjax(




GetType
(_default))       'à ajouter dans le Load de ta page



'Créer une fonction Ajax comme suit :

_







Public



Function
EnableCheckBox()

As



Boolean






Return



True






End



Function Voilà, en espérant avoir été clair...... le réslutat, sur le click d'un RadioButton, suivant sa fonction, active ou désactive une liste de checkbox, sans PostBack vers le serveur.

<hr />
@+  
Messages postés
147
Date d'inscription
samedi 7 juin 2003
Statut
Membre
Dernière intervention
8 décembre 2007

J'ai du dire une bétise car la propriété UseSubmitBehavior n'empeche pas le rafraichissement de la page..

Il faut surment utiliser la propriété OnClientClick pour définir une action de type Script...
Si quelqu'un aurait un exemple de script javascript généré automatiquement par le control (ClientScriptManager) et exploité sur des évenements côté client ça m'intéraisse! ... If your are blonde ... ça m'intéraisse aussi  lol
Messages postés
84
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
22 juin 2007

Bonjour,
j aimerai rafraichir un gridview sur clique de bouton!
je trouve pas vraiment d exemple concret pour ça sur le net, et je ne remets pas en compte ma mauvaise recherche...;-)


il y a t il qqun qui peut m aider juste un peu, m aiguiller du moins!!!


 


merci


Sabine