【问题标题】:ASP.Net C# - Display StopwatchASP.Net C# - 显示秒表
【发布时间】:2014-08-18 12:58:33
【问题描述】:

我目前有一个页面 (page.aspx),其中包含一个秒表功能,用于计算用户在该页面上花费的时间超过多个回发,如下所示。

但是,这对用户来说是完全不可见的。如何在页面上显示秒表和每一秒,直到它停止?

protected void Page_Load(object sender, EventArgs e)
{
    sw = new Stopwatch();
    sw.Start();
}

protected void btnNext_Click(object sender, EventArgs e)
{
    //if not at the end of the counter
    {
         //code
    }
    else
    {
        sw.Stop();
    }
}

【问题讨论】:

    标签: c# asp.net timer stopwatch


    【解决方案1】:

    试试这样的:

    .aspx 页面

    <form id="form1" runat="server">
        <asp:ScriptManager ID="Scriptmanager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Label ID="Label1" runat="server" Font-Size="XX-Large"></asp:Label>
                <asp:Timer ID="tm1" Interval="1000" runat="server" OnTick="tm1_Tick" />
                <div>
                    <asp:Button ID="Button1" Text="next" OnClick="Button1_OnClick" runat="server" />
                </div>
            </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="tm1" EventName="Tick" />
            </Triggers>
        </asp:UpdatePanel>
        </form>
    

    服务器端代码:

     public static Stopwatch sw;
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            sw = new Stopwatch();
            sw.Start();
        }
    }
    protected void Button1_OnClick(object sender, EventArgs e)
    { 
    
    
    
    }
    protected void tm1_Tick(object sender, EventArgs e)
    {
        long sec = sw.Elapsed.Seconds;
        long min = sw.Elapsed.Minutes;
    
        if (min < 60)
        {
            if (min < 10)
                Label1.Text = "0" + min;
            else
                Label1.Text = min.ToString();
    
            Label1.Text += " : ";
    
            if (sec < 10)
                Label1.Text += "0" + sec;
            else
                Label1.Text += sec.ToString();
        }
        else
        {
            sw.Stop();
            Response.Redirect("Timeout.aspx");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多