加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何在asp.net Web应用程序(C#)中制作倒数计时器?

发布时间:2020-12-16 03:47:12 所属栏目:asp.Net 来源:网络整理
导读:我正在C#asp.net中创建定时在线测试.我使用本地机器时间创建了它.但是在数据库断开连接或系统挂起的情况下,倒数计时器必须从机器挂起或意外数据库断开连接的时间开始.例如,用户正在回答问题10分钟并且意外地系统被绞死.恢复后,倒计时必须从10分钟开始.有谁能
我正在C#asp.net中创建定时在线测试.我使用本地机器时间创建了它.但是在数据库断开连接或系统挂起的情况下,倒数计时器必须从机器挂起或意外数据库断开连接的时间开始.例如,用户正在回答问题10分钟并且意外地系统被绞死.恢复后,倒计时必须从10分钟开始.有谁能帮我用C#编码?

我使用了以下代码,但它在上面的场景中没用.

int totalTime = (Convert.ToInt32(ViewState["totaltime"])) * 60;

DateTime startTime = (DateTime)ViewState["startTime"];
TimeSpan elaspedTime = DateTime.Now.Subtract(startTime);
Literal1.Text = elaspedTime.Hours.ToString() + "h" + ":" + elaspedTime.Minutes.ToString() + 
    "m" + ":" + elaspedTime.Seconds.ToString() + "s";

int finish = Convert.ToInt32(elaspedTime.TotalSeconds);

int remaingsec = (totalTime - finish);
TimeSpan remainingtime = TimeSpan.FromSeconds(remaingsec);
string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",remainingtime.Hours,remainingtime.Minutes,remainingtime.Seconds,remainingtime.Milliseconds);

LIteral2.Text =  answer;
if (totalTime == finish)
{
     lnkFinish_Click(sender,e);
     Response.Redirect(@"~/Error.aspx");
}

解决方法

我的意见是使用javascript进行倒计时(嵌入式)以及使用json传递数据库数据,当数据库导致断开连接时,您将一些数据传递给javascript,并使用控件将程序转移到倒计时.

下载以下javascript文件并放入您的Web应用程序目录:
http://scripts.hashemian.com/js/countdown.js

而不是使用这样的东西:

<script type="text/javascript">
        TargetDate = "12/25/207 12:01 AM";
        BackColor = "red";
        ForeColor = "white";
        CountActive = true;
        CountStepper = -1;
        LeadingZero = true;
        DisplayFormat = "%%D%% Days,%%H%% Hours,%%M%% Minutes,%%S%% Seconds.";
        FinishMessage = "It is here!";
    </script>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读