Хочу обновить несколько строк в гриде. Причем чтобы они отображались по мере обновления.
В каждой есть 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
Перед тем, как улучшиться, ситуация ухудшается. (из законов Мерфи)