我想使用
从数据库(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,然后保持不变。该代码不起作用下一步。请帮忙