Le contenu du composant UpdateProgress peut il s'afficher lors de l'évènement Tick d'un Timer ?
Bonjour,
J'essaye de m'entraîner en ASP.NET AJAX et je teste les principaux composants serveur de base de ASP.NET AJAX (ScriptManager, UpdatePanel, UpdateProgress, Timer ..).
Je m'entraine à l'aide d'un tutorial dont je ne retrouve plus le lien mais peu importe.
Voici mon code :
La classe .aspx :
p01_ExempleAJAX.aspx
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| <%@ Page Language="C#" AutoEventWireup="true" CodeFile="p01_ExempleAJAX.aspx.cs" Inherits="p01_ExempleAJAX" %>
<!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>Un exemple d'utilisation d'Ajax</title>
</head>
<body>
<form runat="server">
Page générée à :
<asp:Label runat="server" ID="labelDate"></asp:Label>
<br /><br />
<asp:ScriptManager runat="server" ID="monScriptManager" EnablePartialRendering="true"></asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="monUP">
<ContentTemplate>
Dernier retour serveur à :
<asp:Label runat="server" ID="labelUpdateDate"></asp:Label>
<br />
Nombre de retours :
<asp:Label ID="laCount" runat="server" Text="0"></asp:Label>
<br /><br />
<asp:Button runat="server" ID="buUpdate" Text="Quelle heure est il ?" OnClick="buUpdate_Click" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="monTimer" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdateProgress ID="monUpdateProgress" AssociatedUpdatePanelID="monUP" runat="server">
<ProgressTemplate>
Traitement asynchrone en cours ..
</ProgressTemplate>
</asp:UpdateProgress>
<asp:Timer ID="monTimer" runat="server" Interval="10000" OnTick="monTimer_Tick"></asp:Timer>
Entrez un password
<br />
<asp:TextBox ID="TextBox1" runat="server" Width="479px"></asp:TextBox>
</form>
</body>
</html> |
Et la page aspx.cs associée : (code behind)
p01_ExempleAJAX.aspx.cs
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
| using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Threading;
public partial class p01_ExempleAJAX : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
labelDate.Text = DateTime.Now.ToString();
labelUpdateDate.Text = DateTime.Now.ToString();
laCount.Text = (Convert.ToInt32(laCount.Text) + 1).ToString();
}
protected void buUpdate_Click(object sender, EventArgs e)
{
Thread.Sleep(5000);
labelUpdateDate.Text = DateTime.Now.ToString();
}
protected void monTimer_Tick(object sender, EventArgs e)
{
labelUpdateDate.Text = DateTime.Now.ToString();
}
} |
Ma question est :
Pourquoi mon composant UpdateProgress n'affiche pas son contenu lors de chaque tic de mon Timer ?
Est ce une propriété normale ?
(Alors que le contenu de mon composant UpdateProgress s'affiche bien lorsque je clique sur mon bouton "Quelle heure est il ?" ...)
Merci de m'éclairer !!