GridView и UpdatePanel
От: Macr0s Россия  
Дата: 28.01.10 11:36
Оценка:
Хочу обновить несколько строк в гриде. Причем чтобы они отображались по мере обновления.

В каждой есть TemplateColumn с UpdatePanel в которых есть лейблы.
<asp:TemplateField HeaderText="Запрос"><ItemTemplate>
  <asp:UpdatePanel id="UpdatePanel2" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
      <asp:Label id="labZId" runat="server" Text="-=(Обновление)=-">
    </ContentTemplate>
  </asp:UpdatePanel> 
</ItemTemplate>

Есть такой код:
(gwRes.Rows[3].FindControl("labZId") as Label).Text = "ололо";
(gwRes.Rows[3].FindControl("UpdatePanel2") as UpdatePanel).Update();

for (int i = 0; i < 10000000; i++)
   (gwRes.Rows[3].FindControl("labZId") as Label).Text = "ололо";

(gwRes.Rows[4].FindControl("labZId") as Label).Text = "ололо";
(gwRes.Rows[4].FindControl("UpdatePanel2") as UpdatePanel).Update();

При выполнении этого кода происходит следующее: веб-сервер подвисает на короткое время (специально занял его глупым циклом), затем обновляются сразу обе ячейки.
Почему так происходит? Как сделать чтобы происходило "правильно"?
Использую VS 2005, MS Ajax Extensions, .NET Framework 2.0
Перед тем, как улучшиться, ситуация ухудшается. (из законов Мерфи)
gridview updatepanel
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.