繁体   English   中英

asp.net中的jquery.countdown

[英]jquery.countdown in asp.net

有没有人在asp.net中使用jquery.countdown有经验?

在后面的代码中,我设置了这样的日期

public string datostreng;
protected void Page_Load(object sender, EventArgs e)
{
    string format = "ddd MMM d yyyy HH:mm:ss";
    DateTime _tempdato = DateTime.Now.AddDays(1);
    datostreng = _tempdato.ToString(format);
}

在.aspx页上,我有

<script type="text/javascript">
    $(function () {
        var dato = new Date();
        dato = '<%=datostreng %>';
        $('#defaultCountdown').countdown({ until: dato, format: 'HMS' });
        //alert(dato);
    });

计数器显示正常,但从34分56秒开始倒计时,很奇怪。在我的示例中,该计数器应从24小时开始倒计时。

在原始的jquery.countdown示例中,它们的日期格式如下:Thu Jan 26 2012 00:00:00 GMT + 0100

在我的示例中,它看起来像这样:fr jan 28 2011 09:50:43

因此,我想问题是,如何在C#中产生一个满足jquery.countdown函数的日期?

当您将日期分配给javascript中的变量时,您需要使用:

var dato = new Date('<%=datostreng%>');

完成此操作的方式是,变量包含字符串,而不是日期。 因此,只需替换这两行就可以了。

您可以利用JavaSript将Date保留为自1970/01/01开始的毫秒数这一事实。 将其放在您的代码后面:

private static DateTime _jsDateBoundary = new DateTime(1970, 1, 1, 0, 0, 0);
public Int64 GetCountdownMilliseconds()
{
  DateTime countdownDeadline = DateTime.Now.AddDays(1).ToUniversalTime();
  return (Int64)countdownDeadline.Subtract(_jsDateBoundary).TotalMilliseconds;
}

在.aspx页上输入以下内容:

$(document).ready(function () {
    $('#defaultCountdown').countdown({ until: new Date(<%= GetCountdownMilliseconds() %>), format: 'HMS' }); 
});

它会工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM