首页 > 解决方案 > 日期倒数计时器(日期从数据库加载)

问题描述

我想知道是否有一种方法可以在不使用 jquery ajax 的情况下从日期创建倒数计时器?我对javascript和一些c#略知一二。如果有帮助,我有 Visual Studio 2017 AJAX Extension 的工具。

我想实时显示从日期开始倒计时的倒计时计时器(页面的部分刷新)。

我知道我必须使用更新面板和脚本管理器。但是 c# 代码本身是什么?我是否将其存储在会话变量中?

计时器在页面加载时启动。

标签: asp.netajaxcountdown

解决方案


作为一个基地,你可以这样做

DateTime dt = new DateTime(2018, 08, 10); // your date from the db.
TimeSpan dt2 = dt.Subtract(DateTime.Now);
// add the time remaining to a label.
lblDateDiff.Text = "Time's up in "
    + dt2.Days.ToString() + " days, "
    + dt2.Hours.ToString() + " hours, "
    + dt2.Minutes.ToString() + " minutes "
    + dt2.Seconds.ToString() + " seconds.";

这不会像计时器那样倒计时,但如果它在 Page_Load 上,它会在每次加载时刷新。

如果 JS 是一个选项,您可以将日期添加到页面并使用 moment.js 库:https ://momentjs.com/docs/#/displaying/tonow/

对于计时器,我不确定,但我怀疑你是否可以使用代码隐藏来做到这一点,除非你使用pollingSignalR这样的机制。JS 的 setInterval() 将是最简单的。


推荐阅读