2010-07-13 63 views
11

我有一個用戶控件linkbuttons(用於分頁)和更新面板中的中繼器。分頁工作正常,但每次點擊進入下一頁時都會導致整頁回發。更新面板內的用戶控件導致整頁回發

更新面板看起來是這樣的:

<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Always"> 
     <ContentTemplate> 
      <asp:Repeater ID="rptOrganizations" runat="server"> 
       <HeaderTemplate> 
        <table> 
         <thead> 
          <tr> 
           <th>Organization</th> 
           <th>State</th> 
           <th>Accredited Since</th> 
          </tr> 
         </thead> 
        </table> 
       </HeaderTemplate> 
       <ItemTemplate> 
        <tr> 
         <td> 
          <asp:Literal ID="ltlInstitution" runat="server" /> 
         </td> 
         <td> 
          <asp:Literal ID="ltlState" runat="server" /> 
         </td> 
         <td> 
          <asp:Literal ID="ltlAccreditedDate" runat="server" /> 
         </td> 
        </tr> 
       </ItemTemplate> 
       <FooterTemplate> 
        </table> 
       </FooterTemplate> 
      </asp:Repeater> 

      <uc2:RepeaterPaging ID="rpPager" runat="server" PageSize="10" OnNextButtonClickEvent="btnNext_Click" OnPreviousButtonClickEvent="btnPrev_Click" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

而且用戶控件的內容是這樣的:

<asp:LinkButton ID="btnPrev" runat="server" OnClick="btnPrev_Click">Previous</asp:LinkButton> | 
<asp:LinkButton ID="btnNext" runat="server" OnClick="btnNext_Click">Next</asp:LinkButton> 

&nbsp;&nbsp; 
<asp:Literal ID="ltlNumResults" runat="server" /> results returned. 

到目前爲止,我已經嘗試添加一個異步回傳觸發用戶控件,它會導致異步回發,但不會更新更新面板中的其餘文本。換句話說,異步回發發生,下一頁出現,但中繼器中的原始文本也在其下方。

我也確認我在我的linkbuttons上設置了IDS,因爲這可以在更新面板中觸發完整的回發。

我試着改變更新面板模式(總是,有條件的,ChildrenAsTriggers等)。

沒有任何區別 - 唯一真正導致異步回發的是使用觸發器,但更新面板中的其餘內容未更新,因此我得到重複的內容。有任何想法嗎?

+0

有關LinkBut​​tons上缺少ID的信息塊導致完整回發對我有用,歡呼聲! – paulH 2012-12-03 11:41:42

回答

15

如果您的UpdatePanel無法將其內容呈現到<div>(例如,它位於<tr>之內),則會發生完整回發。因此,檢查你的UpdatePanel裏面的html,你可能會在那裏找到答案(另外,找一些不正確的xhtml,就像不正確的關閉元素一樣)。

+0

就是這樣!如果您注意到標題模板內部,我意外關閉了標記,而不是將其關閉在頁腳中。只要我刪除錯誤地形成的標籤,它開始工作。我不知道更新面板是那麼敏感...... – Neil 2010-07-13 16:13:06

+0

+1:我的UpdatePanel直接放置在一個表格標籤內,當它從那裏移出時,開始工作。謝謝! – 2012-03-14 15:17:30

0

刪除更新模式=「始終」不要放任何東西,它應該工作。

還有一件事是你添加腳本管理器到你的頁面或控制不?

沒有腳本管理器,它不會工作。

+0

我認爲默認更新模式總是 - 我刪除它,但它沒有什麼區別。腳本管理器目前被添加到頁面,而不是用戶控件。 – Neil 2010-07-13 15:57:55

相關問題