asp.net中的jquery.countdown

时间:2011-01-27 08:57:13

标签: c# asp.net jquery countdown

有没有人有在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示例中,它们的日期格式如下: 2012年1月26日星期四00:00:00 GMT + 0100

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

所以,我想问题是,如何在C#中生成满足jquery.countdown函数的日期?

2 个答案:

答案 0 :(得分:3)

在javascript中为变量指定日期时,需要使用:

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

你完成它的方式,你的变量包含一个字符串,而不是一个日期。所以只需要替换这两行就可以了。

答案 1 :(得分:1)

您可以利用JavaSript自1970/01/01以来持有Date作为毫秒的事实。把它放在你的代码中:

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' }); 
});

它会起作用。