AsyncPostBackTrigger не работает с одновременными вызовами обновления

У меня есть страница с несколькими UpdatePanels, каждая со своей кнопкой для ее обновления. Поскольку процедуры обновления могут занять некоторое время, я подумал, что их асинхронность поможет загружать страницу шаг за шагом.

Но при этом, когда я запускаю программно процедуру обновления каждой панели, я получаю только последнее обновление UpdatePanel.

Вот пример кода с двумя UpdatePanel. Существует требование, чтобы процедура обновления запускалась для функции pageLoad на стороне клиента.

Это ошибка или мне что-то не хватает в коде?

Спасибо =)

<asp:UpdatePanel ID="Panel1" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:TextBox ID="Text1" runat="server" />
    <asp:Button ID="Button1" runat="server" />
  </ContentTemplate>
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
  </Triggers>
</asp:UpdatePanel>

<asp:UpdatePanel ID="Panel2" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:TextBox ID="Text2" runat="server" />
    <asp:Button ID="Button2" runat="server" />
  </ContentTemplate>
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
  </Triggers>
</asp:UpdatePanel>

И код на стороне клиента:

function pageLoad()
{
  $('#Button1').click();
  $('#Button2').click();
}

person mkato    schedule 25.08.2009    source источник


Ответы (1)


Вот почему:

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

http://www.asp.net/ajax/documentation/live/tutorials/ExclusiveAsyncPostback.aspx

Вот решение:
Обработка нескольких асинхронных обратных передач

person rick schott    schedule 21.09.2009