problème de raffraichissement
Bonjour à tous,
j'essaie de mettre en place un compte à rebours à l'aide d'ajax mais je n'y arrive pas. Mon problème est que j'ai une variable "Rebours" initialisée dans le Page_Load qui semble perdre sa valeur. Donc à chaque fois elle récupère la valeur 1minute et donc mon affichage reste statique avec mon décompte qui reste à 59secondes. En gros à chaque fois il décrémente d'une seconde mais il décrémente la même valeur sans jamais conserver le résultat. Je vous mets le code pour mieux comprendre.
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
| public partial class _Default : System.Web.UI.Page
{
DateTime rebours = new DateTime();
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rebours = DateTime.Parse("2011/01/01 00:01:00");
}
}
//protected void Button1_Click(object sender, EventArgs e)
//{
// string fonction = "CountDown('60', 'label1')";
// string script = "<SCRIPT LANGUAGE='JavaScript'>" + fonction + "</SCRIPT>";
// Page.RegisterClientScriptBlock("CountDown", script);
//}
protected void Timer1_Tick(object sender, EventArgs e)
{
rebours = rebours.AddSeconds(-1);
Label6.Text = rebours.Second.ToString();
UpdatePanel1.Update();
} |
coté aspx:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick"></asp:Timer>
<asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
</div> |
J'espère sincèrement que vous pourrez m'aider.
Je vous remercie par avance.