Partage
  • Partager sur Facebook
  • Partager sur Twitter

[AJAX -> jQuery/ASP.net] Débutant : problème compréhension

    22 juillet 2010 à 15:31:18

    Bonjour,

    venant d'apprendre jquery et le concept d'ajax, j'aurais voulu utiliser ces derniers pour la création d'un site web en ASP.net.

    Or, malgré de nombreuses recherches, je n'arrive pas à trouver un exemple complet, clair, utilisant non pas le PHP, comme 99% des messages postés sur l'utilisation de jquery/ajax, mais ASP.net.

    Je fais donc appel à vous, en espérant que vous pourrez me fournir le plus petit exemple suffisant à la compréhension de la logique de communication jquery/ASP.net en ajax (par exemple, vérifier si le pseudo entré dans un formulaire est déjà utilisé ou pas en regardant la base de données via une requête etc ...).

    Je vous remercie !
    • Partager sur Facebook
    • Partager sur Twitter
      23 juillet 2010 à 0:14:48

      Salut, je ne connais pas ASP.net, mais le principe reste le même. Le javascript ne fait qu'appeler des pages et récupère une réponse, indépendamment du type de langage utilisé sur le serveur.
      • Partager sur Facebook
      • Partager sur Twitter
        23 juillet 2010 à 9:38:26

        Bonjour,

        tout d'abord, merci LCaba pour ta réponse !
        Oui le concept de l'ajax reste le même donc dans le fond le fonctionnement ne change pas. Seulement, le manque d'exemples en ASP.net pour bien débuter me destabilise et j'ai du mal à faire l'analogie avec la communication Jquery/PHP.

        Si jamais quelqu'un connais un minimum l'ASP.net, pourrais-il m'aider à finaliser cette exemple qui consiste à récupérer le login entré dans le formulaire et voir si celui-ci existe déjà dans la base (en AJAX evidemment)?

        * Voici ma page ASPX (côté design) avec mon formulaire qui a juste un login à entrer :

        <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
        <head>
        
        <title>Identification</title>
        
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
        <script type="text/javascript">
        <!--
        $(function(){
        
        $.ajax(
        
        type : "POST", // POST pour prendre le login entré et interrogé la base
        url : "Default.aspx", // Page ASPX recevant le résultat de la requête envoyée au serveur
        data : // il faudrait récupérer ici le login entré
        dataType : "html" // Ici pas de XML juste un Login au format text ...
        
        )
        
        });
        </script>
        
        </head>
        
        <body>
        <form method="post" runat="server" action=”Resultat.aspx”>
        
        <label for=”tb_login” id=”lbl_login”>Login :</label><br/>
        <INPUT type="text" name="textLogin">
        <button type="button" onclick="">Vérifier la disponibilité</button>
        
        </form>
        </body>
        </html>
        


        Maintenant, sachant que :

        - ma base de données s'appelle BddTest,
        - la table concernée est Membre et possède le champ login notamment,
        - mon code behind (pour gérer la page aspx) est en C# (ou VBNet).

        Comment dois-je m'y prendre ? (il faudrait que le bouton de ma page aspx ait sa méthode onClick() qui appelle mon code jquery aussi ...)

        Je vous remercie !
        • Partager sur Facebook
        • Partager sur Twitter
          23 juillet 2010 à 14:07:52

          J'insiste, le langage utilisé côté serveur et vraiment indépendant de la façon d'envoyer et de récupérer les informations.

          Il te suffit d'appeler une page ASP avec le mot de passe en GET ou en POST.

          Côté serveur, tu vérifie s la disponibilité, et tu renvoie par exemple 0 ou 1.

          Tu récupère cette réponse côté javascript.

          Seul le code de la page appelée sera différent, le reste (tout le javascript) est identique quelque soit le langage utilisé.
          • Partager sur Facebook
          • Partager sur Twitter
            23 juillet 2010 à 14:50:05

            Merci encore LCaba,

            merci pour ton insistance, je pense avoir mieux compris l'architecture maintenant.

            Si j'ai bien compris, j'aurais :

            -> page ASPX avec formulaire et bouton avec méthode onClick qui appel du code jquery d'un fichier js.

            -> code jQuery avec type POST et url vers une autre page ASPX servant juste à tester la connection et renvoyée une valeur.

            -> sur celle-ci, dans le code-behind, on a notre code C# ou VB.Net avec un Request.from() pour récupérer ce qui est entré dans le data de $.ajax().
            Puis appel à la base et comparaison avec cette valeure récupérée.

            ça tient la route ?

            Juste une petite question cependant, à propos du code behind en C# :

            * J'ai trouvé une fonction :
            protected override void OnLoad(System.EventArgs e)
            
            avec à la fin le code :
            base.OnLoad(e)
            


            Pourriez-vous m'expliquer :

            - Ce que fait cette fonction qui a déjà un nom bien défini, à savoir OnLoad ?
            - Pourquoi en paramètre on a un événement alors qu'on a fait aucune action pour le déclencher
            - Que veut dire override ?
            - A quoi sert le code
            base.OnLoad(e)
            
            ?

            Merci encore !
            • Partager sur Facebook
            • Partager sur Twitter
              24 juillet 2010 à 13:07:02

              Cette fois je pense que tu as bien compris le principe :)
              Malheureusement je ne peux as t'aider pour le C#.
              • Partager sur Facebook
              • Partager sur Twitter

              [AJAX -> jQuery/ASP.net] Débutant : problème compréhension

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown