我有一個用戶控件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>
<asp:Literal ID="ltlNumResults" runat="server" /> results returned.
到目前爲止,我已經嘗試添加一個異步回傳觸發用戶控件,它會導致異步回發,但不會更新更新面板中的其餘文本。換句話說,異步回發發生,下一頁出現,但中繼器中的原始文本也在其下方。
我也確認我在我的linkbuttons上設置了IDS,因爲這可以在更新面板中觸發完整的回發。
我試着改變更新面板模式(總是,有條件的,ChildrenAsTriggers等)。
沒有任何區別 - 唯一真正導致異步回發的是使用觸發器,但更新面板中的其餘內容未更新,因此我得到重複的內容。有任何想法嗎?
有關LinkButtons上缺少ID的信息塊導致完整回發對我有用,歡呼聲! – paulH 2012-12-03 11:41:42