如何在Web表单中更新tick上的标签

时间:2016-03-07 09:35:27

标签: c#-4.0

我有一个网页表单,其中我想以时间减少的方式显示标签从180秒到零,我使用以下代码。

<div>
        <asp:ScriptManager ID="SM1" runat="server"></asp:ScriptManager>
        <asp:Timer ID="timer1" runat="server" Interval="1000"
            OnTick="timer1_tick">
        </asp:Timer>
    </div>
    <div>
        <asp:UpdatePanel ID="updPnl" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:Label  ID="lblTimer" runat="server"></asp:Label>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="timer1" EventName="tick" />
            </Triggers>
        </asp:UpdatePanel>
    </div>

和背后的代码

protected void timer1_tick(object sender, EventArgs e)
        {
            if (0 > DateTime.Compare(DateTime.Now,
            DateTime.Parse(Session["TimeCount"].ToString())))
            {
                lblTimer.Text = "Number of Second Left: " +
                ((Int32)DateTime.Parse(Session["TimeCount"].
                ToString()).Subtract(DateTime.Now).TotalSeconds).ToString();
            }
            else
            {

            }
        }       

和页面加载

protected void Page_Load(object sender,EventArgs e)         {

        if (!Page.IsPostBack)
        {
            Page.Header.Title = "Test";
            NewRecord();
        }
        if (!SM1.IsInAsyncPostBack)
            Session["TimeCount"] = DateTime.Now.AddSeconds(180).ToString();
    }

问题是当用户点击按钮时计数器每次刷新180次,而标签是177,173等静态值,我想向用户显示计数更改?它基本上是Q / A软件。

0 个答案:

没有答案