Code behind et javascript

Résolu
emalio13 Messages postés 3 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 25 mars 2009 - 6 janv. 2009 à 15:21
emalio13 Messages postés 3 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 25 mars 2009 - 9 janv. 2009 à 13:28
Bonjour à toutes et à tous,

Etant débutante en ASP.net, je rencontre quelques difficultés.

En effet, je développe une application avec visual web developer avec du code behind en C# et j'aurais souhaité utiliser du code javascript sur ma page asp de tel façon que le code soit exécuté coté client plutôt que du coté serveur en vu de la performance de cette application.

J'aimerai, par exemple, rendre visible un label lorsque je clique sur un bouton ou sur une textbox.

Y aurait-il quelqu'un pour me donner un exemple d'une page "asp" avec du code javascript tout en ayant une page "asp.cs" pour le code behind ?

J'espère avoir été assez clair...

Sur ce, je vous souhaite à toutes et à tous une bonne et heureuse année !

3 réponses

ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
6 janv. 2009 à 19:37
Bonsoir,

Tu peux très bien mettre ton script javascript dans le head de ta page, comme pour une page .htm, ou appeler de cet endroit une page de script .js.De la même manière que tu peux mettre des contrôles html dans une page asp, tu peux coller du javascript.
L'asp est "traduit" en html pour que la page générée puisse être lue par un navigateur : il rend donc des contrôles html. Par exemple, un label asp sera en fait rendu comme du texte dans un . Il faudra donc changer son texte avec innerHTML. Un textbox asp, qui a une propriété text, sera rendu comme un input textbox html, et aura donc en javascript une propriété value à la place, etc.
D'autre part, l'id du contrôle asp peut être changé dans la page produite, par exemple si tu as des contrôles dans un contentplaceholder, ou si tu as un contrôle de liste. Tu dois donc vérifier dans la source html de ta page, dans le navigateur, le nom de tes contrôles, si tu veux les récupérer à l'aide de l'id.
En général toutefois, dans les cas les plus simples, l'id que tu as donné en asp est conservé dans le rendu html (nb. cet id "client" est accessible en asp à l'aide de ClientID : il est donc possible en principe d'écrire ton code javascript dans un literal en tenant compte de ce clientID. Mais c'est souvent inutile).
Ci-dessous un exemple avec un label et un button dont le texte est changé quand on clique sur le bouton (je ne donne que le head et le body).
Note qu'il s'agit d'un button html, qui ne génère pas de postback, contrairement au button asp. (Sur un button asp, tu peux utiliser onclientclick, plutôt que onclick, mais il y aura toujours postback, et il faut alors l'empêcher (puisque c'est ce que tu cherches en l'occurrence). Pour les autres contrôles asp, comme textbox, tu auras des avertissements si tu ajoute un événement javascript dans les propriétés. En principe, la page tourne quand même : mais tu peux le faire plus "proprement" en ajoutant l'événement javascript sur ce contrôle, par exemple, à l'aide de attributes.add dans ton code behind).

<head runat="server">
    <title>Page sans titre</title>
    <script type="text/javascript">
    function nuitjour(b)
    {
    var l=document.getElementById("Label1");
    l.innerHTML=b.value
    if (b.value=="Bonsoir")
    {
    b.value="Bonjour"
    }
    else
    {
    b.value="Bonsoir"
    }
    }
    </script>
</head>

    <form id="form1" runat="server">
   

       

       
   

    </form>

Bon courage pour la suite...

GGtry
3
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
6 janv. 2009 à 20:32
si je peux me permettre, je te conseillerais sincérement de jeter un coup d'oeil à JQuery.

C'est une libraire javascript qui te permettra de déveloper beaucoup plus rapidement.
0
emalio13 Messages postés 3 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 25 mars 2009
9 janv. 2009 à 13:28
Bonjour,

Tout d'abords, désolée du retard de ma réponse.
Ensuite, un grand merci pour vos solutions. En effet ggtry, ta solution résoud beaucoup de choses pour mon développement. Merci à toi également GillouXman je ne manquerai pas d'aller voir JQuery, j'avoue sincèrement ne pas avoir eu le temps de regarder pour l'instant.

Emalio13
0
Rejoignez-nous