UpdatePanel в каждой строке списка данных

Я пытаюсь обновить каждую строку DataList без необходимости обратной передачи всего DataList.

В основном я хочу пойти с

<DataList>
   <ItemTemplate>
      <UpdatePanel>
      </UpdatePanel>
   </ItemTemplate>
</DataList>

вместо

<UpdatePanel>
   <DataList>
      <ItemTemplate>
      </ItemTemplate>
   </DataList>
</UpdatePanel>

Возможно ли это, или лучше - есть ли в этом смысл?


person mko    schedule 12.05.2011    source источник


Ответы (1)


Да, возможно, лично я так делаю в некоторых ситуациях.

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

Я предлагаю вам прочитать раздел Вопросы для UpdatePanel по этой ссылке для получения дополнительной информации.

Обновление:

Вы также должны следить за тем, как вы настраиваете свой шаблон, например: вы не можете поместить строку таблицы в панель обновления.

Не делайте этого:

<asp:DataList>
   <HeaderTemplate>
      <Table>
   </HeaderTemplate>

   <ItemTemplate>
     <UpdatePanel>
         <tr>
             <td>...</td>
             <td>...</td>
         </tr>
     </UpdatePanel>
   </ItemTemplate>
   <FooterTemplate>
      </Table>
   </FooterTemplate>
</asp:DataList>

Но вы не можете:

<asp:DataList>
   <HeaderTemplate>
      <Table>
   </HeaderTemplate>

   <ItemTemplate>
     <UpdatePanel>
     <tr>
         <td>
             <UpdatePanel>
                ...
             </UpdatePanel>
         </td>
     </tr>
   </ItemTemplate>
   <FooterTemplate>
      </Table>
   </FooterTemplate>
</asp:DataList>
person DavRob60    schedule 13.05.2011