Таймер в UpdatePanel вызывает какую-то полную обратную передачу - PullRequest
0 голосов
/ 09 декабря 2011

У меня какая-то странная проблема, у меня есть панель обновления, которая запускается таймером.

Также у меня на этой странице есть функция, которая вызывает БД и извлекает из нее данные.функция не вызывается из панели обновлений и даже не связана с ней.

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

мой код:

<asp:Timer runat="server" id="UpdateTimer" interval="5000" ontick="UpdateTimer_Tick" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
    </Triggers>
    <ContentTemplate>
        <span id="s1" runat="server"></span>
    </ContentTemplate>
</asp:UpdatePanel>  

и код позади:

protected void UpdateTimer_Tick(object sender, EventArgs e)
{
    DateTime dt = TimeConvertor.getCurrentGameTime();
    s1.InnerText = String.Format("Current game time: {0:dd/MM/yyyy HH:mm}", dt);
}

Функция для извлечения данных из БД находится в page_load страницы.

Любая помощь приветствуется

Спасибо

Дорон

1 Ответ

2 голосов
/ 09 декабря 2011

Использование панели «Обновление» не обновляет всю страницу, а только элементы управления внутри панели обновления, но при частичном обновлении происходят все события жизненного цикла страницы сервера, а данные о состоянии представления и форме сохраняются, но при отображении страницы только часть панели обновления отображается и возвращается пользователю.

Перейти по этой ссылке Частичное отображение страницы

и выделите фон раздела.

...