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

Discussion :

fonction c# dans un code javascript


Sujet :

ASP.NET Ajax

  1. #1
    Membre habitué
    Inscrit en
    août 2008
    Messages
    1 487
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 1 487
    Points : 175
    Points
    175
    Par défaut fonction c# dans un code javascript
    bonjour, je veux appeler une fonction c# dans mon code js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [WebMethod]
        public static String deleteStation()
        {
            return "hello";
        }
    j'ai ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    using System.Web.Services;
    ma fonction js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        function deleteStation() {
            alert(PageMethods.deleteStation());
        }
    sur ma page asp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"  EnablePartialRendering="true"/> 
     
                     <asp:Button id="delete" cssclass="button" Text="delete" runat="server" OnClientClick="deleteStation(); return false;" />
    mais quand je clique sur le bouton delete, il m'affiche : undefined

    qu'est ce que j'ai oublié ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Rien ce n'est pas possible tout simplement. D'ou l'erreur undefined.

    Si tu veux acceder à ta web méthode tu dois faire un XmlHttpRequest qui te renverra la réponse.
    Tu peux utiliser jquery et ca méthode ajax pour réaliser cela.

    A+

  3. #3
    Membre actif

    Développeur .NET
    Inscrit en
    juillet 2008
    Messages
    174
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : juillet 2008
    Messages : 174
    Points : 284
    Points
    284
    Par défaut
    Salut,

    Tu obtiendras le résultat désiré avec jQuery très simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     			function DoSomething() {
    
     		 			    $.ajax({
    
     		 		 			        url: "Default.aspx/MaWebMethod",
    
     			        success: function(response) {
    		 			            alert(response.d);
     		 			        }
    
    
     			    });
     		 			}
    Bien sûr, ce code est épuré au maximum. Il convient d'aller voir la doc de la fonction $.Ajax de jQuery si tu souhaites passer des paramètres, travailler en JSON, etc.

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/01/2011, 20h30
  2. Appel d'une fonction mysql dans du code javascript
    Par johnson95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/09/2008, 16h29
  3. preg_match dans du code Javascript
    Par micatmidog dans le forum Regex
    Réponses: 2
    Dernier message: 17/05/2006, 18h28
  4. une faute dans mon code javascript.
    Par jack_1981 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/05/2006, 03h05
  5. Problème de paramètres dans mon code javascript
    Par cocacollection dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/03/2006, 10h53

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