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 8O8O
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:
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:
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.