2011-05-12 56 views
0

我想更新每個DataList行而不必PostBack整個DataList。在每個datalist行的UpdatePanel

基本上我想一起去,而不是

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

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

這是可能的,或者更好 - 這有什麼意義?

回答

0

是的,這是可能的,我個人在某些情況下做到這一點。

但是你必須知道,使用UpdatePanel不是一個完美的解決方案。例如,客戶端發送完整的ViewState頁面。所以會有收益,但不會像你預期的那麼大。

我建議您閱讀UpdatePanel注意事項部分in this link瞭解更多信息。

更新:

還必須看你如何安裝模板,例如:你不能把一個錶行的更新面板。

不要這樣做:

<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>