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 :

Fonctionnement AJAX - erreur?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut Fonctionnement AJAX - erreur?
    Bonjour

    dans le cadre d'un site ASP.NEt j'utilise de l'ajax pour éviter de recharger l'ensemble de la page.
    Selon le tutoriel d'asp.net, il est bien écrit

    If you were to look at the rendered source of the page after clicking the button, it will confirm that in fact a post-back has not occurred

    Or lors de différents tests sur mes pages, à chaque fois j'ai des post-backs

    Je me suis dit que je m'étais planté dans mes pages et j'ai fait une page de test, dont voici le code source

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
    <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, 
    Culture=neutral,      
    PublicKeyToken=31bf3856ad364e35"      
    Namespace="System.Web.UI" TagPrefix="asp" %>
     
     
    <!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" >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <asp:ScriptManager  ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
        <div>
        <h4>
                Default policy
            </h4>
            Please select the default policy : 
            <asp:DropDownList ID="ddlPolicy" runat="server">
            </asp:DropDownList>
            <br />
            <br />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate>
                    <asp:HiddenField id="hiddenLastDefaultPolicy" runat="server" Value="0">
                    </asp:HiddenField> 
                    <asp:Label id="lblErrorDefault" runat="server" ForeColor="Red" Text="Default policy not selected">
                    </asp:Label> 
                    <BR />
                    <asp:Label id="lblresult" runat="server" ForeColor="RoyalBlue" Font-Bold="True" Visible="False">
                                Set the default policy successfully</asp:Label> 
                    <BR />
                    <BR />
                    <asp:Button id="btnDefineDefault" onclick="btnDefineDefault_Click" runat="server" Text="Set default" 
                                CauseValidation="false"></asp:Button> 
    </ContentTemplate>
    </asp:UpdatePanel> 
        </div>
        </form>
    </body>
    </html>
    Et le code behind :

    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
     
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //.... initialisation  de la ddl
                ddlPolicy.DataBind();
            }
     
        }
        protected void btnDefineDefault_Click(object sender, EventArgs e)
        {
            int defaultPolicy = Convert.ToInt32(ddlPolicy.SelectedValue);
     
            //.... set default
            }
    Hors quand je lance ce petit exemple, je mets un breakpoint sur le PageLoad et un sur ma fonction btnDefineDefault_Click et je me rends compte que malgré 'AJAX', le page_load est quand même appelé.

    Alors est ce une erreur de ma part dans la conception de la page?
    ou est ce que j'ai rien compris à l'ajax et qu'il y a quand même un appel au pageLoad mais dans ce cas la, pourrait on m'expliquer l'utilité de l'ajax car ca se ressemble bcp a un 'postback'??

    Merci de vos explications.

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tout le cycle de la page est parcouru lors d'un AsyncPostBack mais seul le rendu HTML concernant l'UpdatePanel est transmis au client.

  3. #3
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Merci de ta réponse claire nette et précise.

    Il va falloir que je fasse une passe sur mon code pour réduire la zone de mes updatePanel et ne pas passer des composants inutiles.

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

Discussions similaires

  1. ca fonctionne mais erreur compilation déclaration sub
    Par petitours dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/12/2007, 18h30
  2. [AJAX] Erreur docXML has no properties
    Par wkd dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 23/05/2007, 11h20
  3. [AJAX] Requetes HTTPS et ajax = erreur 400?
    Par bambou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/02/2007, 16h59
  4. [AJAX] fonctionnement Ajax probleme
    Par Tempotpo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/06/2006, 15h00
  5. [AJAX] Erreur système : -1072896658 Code 0
    Par ericw78 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/02/2006, 19h55

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