Обратный отсчет в репитере asp.net

0

У меня есть повторитель, который читал последнюю дату, но я хочу, чтобы эта последняя дата имела обратный отсчет, я нашел код в Интернете, но он не работает

   <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" />

Благодаря этому коду я могу написать, сколько последняя дата, но она не работает, как обратный отсчет времени, например, как это

  • 0
    где репитер? И этот код в Интернете, который вы говорите, не работает для вас?
  • 0
    Ретранслятор, расположенный на странице aspx, имеет значение. И интернет-код вы apogolozie я пишу неправильно, не код, просто обновить код панели позади не существует
Теги:

1 ответ

0

Позвольте мне разбить 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, и должен также объяснить это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню