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 :

Appel méthode non statique C#


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Par défaut Appel méthode non statique C#
    Bonjour, j'aimerais appeler une méthode non statique se trouvant dans le code behind de ma page aspx à partir d'une fonction Javascript. Or, en utilisant WebMethod, je me suis rendu compte qu'on peut uniquement appeler des fonctions statiques. Sachant que je veux pouvoir accéder à mes contrôles asp, est-il possible d'appeler une fonction non statique à partir d'une fonction statique ? Sinon, quelle méthode me proposez-vous ?

    Merci d'avance,
    Francis

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Par défaut
    Bonjour,

    Je pense pas que c'est possible d'appeler une méthode non static à partir du d'une fonction JavaScript.

    Ce que je te propose personnellement c'est de :

    1-passer par une Requete Ajax via une fonction JavaScript.
    2-puis tu fait l'appel a ta méthode static.
    3-tu recupere le resultat de ta requete ajax dans ta fonction Javascript et tu manipule tes composant coté client (Via le JavaScript ou JQuery entre autre...) .

    En utilisant une méthode Static tu perd complétement le context de ta Page coté serveur.

    Voilà de ma part

    cdt

  3. #3
    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
    Pas sûr que ça marche, mais tu peux essayer un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public partial class MaPage : System.Web.UI.Page
    {
     
        [WebMethod]
        public static string MethodeStatique()
        {
            var page = (MaPage)HttpContext.Current.CurrentHandler;
            return page.MethodeNonStatique();
        }
     
        private string MethodeNonStatique()
        {
     
        }
     
        ...
     
    }
    Le seul truc donc je suis pas sûr, c'est si le CurrentHandler sera bien la page dans le cas d'un appel de méthode de page.

    Le problème c'est que même si tu récupères bien la page, tu n'auras pas le ViewState à jour...

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    je suis pas sur mais je pense que tu peux crée un linkbutton caché et sur l'événement click de ce button tu appel ta fonction et dans ton javascript tu simule le click sur ce linkbutton

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 90
    Par défaut
    Dans mes souvenirs le HttpContext.Current.CurrentHandler ne réussira pas à récupérer le contexte de la page (MaPage), j’avais testé ça y a quelques mois.

    Mais peut être j'ai loupé un truc à mon époque.

    Reste à tester.

    Je serai preneur aussi

  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
    Citation Envoyé par sou_rif Voir le message
    Dans mes souvenirs le HttpContext.Current.CurrentHandler ne réussira pas à récupérer le contexte de la page (MaPage), j’avais testé ça y a quelques mois.
    Effectivement je pense que tu as raison...
    http://stackoverflow.com/questions/2...nt-ajax-script

    The reason that it supports only static methods is that no page is instantiated
    Donc s'il n'y a pas d'instance de page, pas possible d'appeler une méthode d'instance...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2011
    Messages : 18
    Par défaut
    Tout d'abord un gros merci au modérateur qui a eu le flaire de déplacer mon message ici !

    Et merci à vous d'avoir répondu, bien que j'ai changer ma façon de faire depuis, ça me sera sans doute utile plus tard.

    Merci encore,
    Francis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Méthode non-statique dans un contexte statique : erreur de compilation
    Par endreillie dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 15/01/2011, 14h36
  2. Réponses: 2
    Dernier message: 11/08/2010, 15h33
  3. [PHP 5.3] appel non-statique à des méthodes statiques
    Par Jcpan dans le forum Langage
    Réponses: 4
    Dernier message: 27/05/2010, 17h06
  4. Java API méthode non statique
    Par os128 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 01/05/2009, 18h06
  5. Réponses: 4
    Dernier message: 15/06/2008, 18h31

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