У меня есть повторитель, который читал последнюю дату, но я хочу, чтобы эта последняя дата имела обратный отсчет, я нашел код в Интернете, но он не работает
<asp:UpdatePanel runat="server" ID="TimedPanel" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="UpdateTimer" EventName="Tick" />
</Triggers>
<ContentTemplate>
<%# GetTimeLeft((DateTime)Eval("RequestedDate")).ToString() %>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Timer runat="server" ID="UpdateTimer" Interval="1000" />
Благодаря этому коду я могу написать, сколько последняя дата, но она не работает, как обратный отсчет времени, например, как это
Позвольте мне разбить 2, что я сделал для решения проблемы:
Сначала я создаю код примера на стороне сервера:
protected void Page_Load(object sender, EventArgs e)
{
DataTable table = new DataTable();
table.Columns.Add("MyDate", typeof(DateTime));
table.Rows.Add(new object[]{DateTime.Now.AddDays(+180)});
table.Rows.Add(new object[] { DateTime.Now.AddDays(50)});
;
myRepeater.DataSource = table;
myRepeater.DataBind();
}
И это HTML-версия образца:
<asp:Repeater runat="server" ID="myRepeater">
<ItemTemplate>
<div>
<div class="dt1" style="display:none;overflow:hidden"><%# ((DateTime)Eval("MyDate")).Year %>,<%# ((DateTime)Eval("MyDate")).Month-1 %>, <%# ((DateTime)Eval("MyDate")).Day %></div>
<div class='dt2'></div>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
<script type="text/javascript">
$(document).on('ready', function () {
$('.dt1').each(function (index, el) {
var value = $(this).text().split(',');
var newYear = new Date(value[0], value[1], value[2]);
$(this).siblings('.dt2').countdown({ until: newYear });
});
});
</script>
Чтобы быть абсолютно честным, я не горжусь:
<div class="dt1" style="display:none;overflow:hidden"><%# ((DateTime)Eval("MyDate")).Year %>,<%# ((DateTime)Eval("MyDate")).Month-1 %>, <%# ((DateTime)Eval("MyDate")).Day %></div>
и это:
var value = $(this).text().split(',');
var newYear = new Date(value[0], value[1], value[2]);
Было бы лучше JSON Сериализовать дату, а затем работать с сериализованной версией, но я не хотел бы усложнять этот образец, включая ссылку на JSON Serializer, и должен также объяснить это.