Instance de type JavaScript [C#]

Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007 - 31 juil. 2006 à 10:52
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007 - 24 avril 2007 à 23:31
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

Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
31 juil. 2006 à 11:01
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
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 13:55
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 />
@+  
0
Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
31 juil. 2006 à 15:09
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!
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 15:25
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 />

@+  
0

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

Posez votre question
Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
31 juil. 2006 à 15:38
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
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
31 juil. 2006 à 15:57
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 />
@+  
0
Bubuss Messages postés 147 Date d'inscription samedi 7 juin 2003 Statut Membre Dernière intervention 8 décembre 2007
31 juil. 2006 à 16:07
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
0
cs_Sabine25 Messages postés 84 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 22 juin 2007
24 avril 2007 à 23:31
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
0
Rejoignez-nous