在ASP中需要帮助。网络计时器

时间:2020-01-11 12:35:12

标签: c# asp.net timer

我想使用

从数据库(sqlserver)加载time(7)值

lbltimeelapsed.Text = ds.Tables[0].Rows[0]["TimeElapsed"].ToString();

lbltotaltime.Text = ds.Tables[0].Rows[0]["TotalTime"].ToString();

其中数据库中的总时间为00:05:00,经过的时间为00:00:00

我希望页面从数据库中加载totaltime值,并以秒为单位增加时间,并随着时间的推移将其显示在页面上的lbltimeelapsed.text中。计时器的工作时间为0到5分钟,最后将重定向到下一页。

我编写了以下代码。

test.aspx

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick"></asp:Timer>
        <asp:Label ID="lbltimeelapsed" runat="server" Font-Size="16px"></asp:Label>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>

</asp:UpdatePanel>

test.aspx.cs

protected void Timer1_Tick(object sender, EventArgs e)
{
    double elapsed = TimeSpan.Parse(lbltimeelapsed.Text).TotalSeconds;
    elapsed++;
    TimeSpan time = TimeSpan.FromSeconds(elapsed);
    lbltimeelapsed.Text = time.ToString(@"hh\:mm\:ss");
    lbltimeelapsed.Text = DateTime.Now.ToString();
}

使用此代码,计时器一次显示00:00:01,然后保持不变。该代码不起作用下一步。请帮忙

0 个答案:

没有答案