Member 14619324 Ответов: 1

Таймер на главной странице вызывает срабатывание жизненных циклов дочерней страницы. Даже если таймер запускает только панель обновления


Мой сценарий:

У меня есть таймер на главной странице, который запускает событие каждую секунду.Я обнаружил, что каждый раз, когда запускаются события, также запускается соответствующий жизненный цикл дочерней страницы.Благодаря этому моя дочерняя страница постоянно обновляется(контент находится в панели обновления).

Моя главная проблема заключается в том, что у меня есть выпадающий список на дочерней странице, и я не могу выбрать значение, потому что страница постоянно обновляется.

Что я уже пробовал:

Код Таймера :

<asp:UpdatePanel ID="timer" UpdateMode="Conditional" runat="server" OnLoad="UpdatePanel1_Load" ChildrenAsTriggers="False" >
               <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="TimerTimeLeft" EventName="Tick" />
               </Triggers>
               <ContentTemplate>
                  <asp:Timer ID="TimerTimeLeft" OnTick="TimerLeft_Tick1" runat="server" Interval="1000" />
                  <asp:Label ID="LblTimeLeft" runat="server" Text=""></asp:Label>
               </ContentTemplate>
          </asp:UpdatePanel>

1 Ответов

Рейтинг:
0

F-ES Sitecore

Попробуйте установить режим обновления панелей обновления в условное значение

элемент UpdatePanel.Свойство UpdateMode (System.Web.Пользовательский интерфейс) | Microsoft Docs[^]

Это должно означать, что каждая панель обновляется только тогда, когда что-то в ней запускает обновление, она не будет обновляться при обновлении других панелей. Обратите внимание, что жизненный цикл кода для всей страницы все равно будет выполняться (я думаю, это из памяти), но браузер не будет обновляться для вашего другого выпадающего списка, поэтому он должен оставаться статичным.


Member 14619324

@F-ES SiteCore Ваше объяснение было полезно,я добавил код ко всей моей панели обновления, но теперь триггер, который вызывает изменение панели, - это динамическая кнопка(созданная на бэкэнде). Не могли бы вы помочь добавить эту кнопку в качестве триггера для панели обновления