Pre*_*rem 6 javascript c# asp.net timer countdown
我正在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");
}
Run Code Online (Sandbox Code Playgroud)
我的意见是使用 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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12915 次 |
| 最近记录: |