IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Question de débutant


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Avatar de Peanut
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 421
    Par défaut Question de débutant
    Bonjour,
    je me lance dans le bain c# + ASP.net et y'a un truc que j'ai pas dû comprendre...

    Pour faire court, est-il possible d'appeler directement depuis une page mapage.aspx une fonction présente dans un code mapge.aspx.cs ?

    Je croyais que c'était possible grâce à la directive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page language="c#" Codebehind="mapage.aspx.cs" AutoEventWireup="false" Inherits="mapage" %>
    mais que je fais un en javascript dans mapage.aspx, j'ai une erreur "mapage indéfini".

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le javascript s'exécute dans le navigateur côté client. mapage.fonction() est une fonction définie dans le code C# côté serveur, ça n'a rien à voir... en javascript tu ne peux pas appeler le code du serveur !

  3. #3
    Membre éclairé
    Avatar de Peanut
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 421
    Par défaut
    Oui, mais je pensais (naïvement) que l'ASP.net permettait justement à la page locale de faire le lien avec le serveur, et ainsi de pouvoir lancer des fonctions côté serveur.

    Donc le principe et de toujours faire des boutons (ou autres) sur la page locale et d'intercepter les évènements (clic) côté serveur pour lancer telle ou telle fonction ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    grosso modo c'est ça, mais tu peux toujours faire des boutons HTML "simples" qui vont déclencher un code javascript...

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    Tu définis un Bouton asp.net (asp:Button) dans ton code html.
    Double click dessus, un event apparaît dans ton code c#, et dans ce code tu appelles la méthode que tu veux, elle peut provenir d'une librairie différentes ou d'une fonction privée de ta propre page.

    Maintenant si tu veux faire appel à une propriété public (déinie en C#) dans ta page html tu peux aussi.

    <%= GetName() %> qqch comme ca

    Fix

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Maintenant si tu veux faire appel à une propriété public (déinie en C#) dans ta page html tu peux aussi.
     
    <%= GetName() %> qqch comme ca
    en gardant en tête que ce GetName() sera exécuté côté serveur pour générer la page HTML, le client ne verra jamais ça...

  7. #7
    Membre éclairé
    Avatar de Peanut
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 421
    Par défaut
    Citation Envoyé par fix105 Voir le message
    Maintenant si tu veux faire appel à une propriété public (déinie en C#) dans ta page html tu peux aussi.

    <%= GetName() %> qqch comme ca

    Fix
    A ouais, ça m'intéresse ça. Mais j'arrive pô à le faire marcher.

    Message d'erreur du compilateur: CS0120: Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique 'Bidule.Pages.Truc._evtNotif2()'

    Erreur source:


    <script language=javascript>
    function ma_fct()
    {
    <%= Bidule.Pages.Truc.fct_cs() %>
    }
    </script>

  8. #8
    Membre éclairé
    Avatar de Peanut
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 421
    Par défaut
    Bon, apparemment le <%= ... %> ça ne peut s'employer que dans des attributs spécifiques de certains contrôles, pas n'importe où dans la page ?

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    Ben en fait le <%= %> dit que tu donnes l'objet comme valeur a un attribut.
    Maintenant, tu ne peux pas retourner un objet Voiture dans ta fonction javascript, limite toi à du simple string.
    Met le dans un Alert ('<%= GetName()%>');

    En fait, tu n'as pas besoin de dire mapage. blablab, appelle directement ta propriété qui doit être en public.

    Fix

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Sinon, Silverlight permet d'appeller du code .NET depuis du Javascript.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/06/2005, 10h56
  2. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  3. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  4. Questions de débutant
    Par J-P-B dans le forum XMLRAD
    Réponses: 12
    Dernier message: 24/07/2003, 15h19
  5. [HyperFile] 2 questions de débutant
    Par khan dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 29/04/2002, 23h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo