0

C# Web アプリケーションで jQuery を使用して、複数のカウントダウンを作成しようとしています。

データベースに 2 つの異なる日付があり、それを JavaScript に挿入しています。これは正常に動作しますが、javascript は DB から同じ日付を使用しています。おそらく、javascript のインスタンスが 1 つしかないためです。これを解決する方法についてアドバイスが必要です。

これが完全なコードです。

マークアップ:

<script type="text/javascript" src="scripts/jquery.countdown.js"></script>
<script type="text/javascript">
    $(function () {
        var count = new Date('<%=Datestring%>');
        var countdown = setInterval(function () {
            $('.countdown').countdown({ until: count, format: 'DHMS' });
            if (count == 0) {
                window.location = 'http://google.com';
            }
            count--;
        }, 1000);
    });
</script>

<asp:Repeater ID="repAuctions" runat="server" OnItemDataBound="repAuctions_OnItemDataBound">
    <ItemTemplate>
        <div>
            <asp:Literal ID="litHeading" runat="server" />
            <br/>
            <asp:Literal ID="litCountDown" runat="server" />
        </div>
    </ItemTemplate>
</asp:Repeater>

バックエンド:

public string Datestring;
    protected void Page_Load(object sender, EventArgs e)
    {
        repAuctions.DataSource = AuctionsFactory.GetAllAuctions();
        repAuctions.DataBind();
    }

    protected void repAuctions_OnItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        var auction = (Auction)e.Item.DataItem;
        var litCountDown = (Literal)e.Item.FindControl("litCountDown");
        var litHeading = (Literal)e.Item.FindControl("litHeading");

        string format = "ddd MMM d yyyy HH:mm:ss";
        var countdowndate = (DateTime) auction.TimeLeft;
        Datestring = countdowndate.ToString(format);

        litHeading.Text = auction.Heading;
        litCountDown.Text = auction.TimeLeft + "<span class='countdown'></span>";
    }

前もって感謝します :)

4

0 に答える 0