Data Pager + панель обновлений + вид списка
Мне нужна помощь, у меня есть DataPager внутри панели обновлений, и он работает хорошо, но когда я обновляю страницу или нажимаю кнопку "Назад", формирую какую-то другую страницу, DataPager всегда сбрасывается на первую страницу.
Например, если я был на десятой странице и обновлял страницу, пейджер данных сбрасывался на первый.
Есть ли способ сохранить текущую страницу на пейджере данных?
Мой код:
<asp:SqlDataSource ID="SqlDataSource1" EnableCaching="True" CacheDuration="4000" CacheExpirationPolicy="Sliding"
runat="server" ConnectionString="<%$ ConnectionStrings:blabla %>" SelectCommand=""></asp:SqlDataSource>
<asp:UpdatePanel ID="UpdatePanelnajgornji" runat="server" >
<ContentTemplate>
<asp:ListView ID="ListView1" runat="server" ondatabound="ListView1_DataBound" DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:HyperLink ID="HyperLink2" Visible='<%# !(Eval("Slika") is DBNull) %>' runat="server" NavigateUrl='<%# Eval("Link") %>' title='<%# Eval("Naslov") %>'>
<asp:Image ID="Image1" runat="server" AlternateText='<%# Eval("Naslov") %>' ImageUrl='<%# Eval("Slika") %>' /></asp:HyperLink>
</ItemTemplate>
</asp:ListView>
<br />
<asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
<Fields>
<asp:NextPreviousPagerField />
</Fields>
</asp:DataPager>
</ContentTemplate>
</asp:UpdatePanel>
1 ответ
Обновление браузера создает новые объекты (и, таким образом, очищает состояние DataPager). Вам необходимо сохранить текущую страницу в сеансе или во ViewState, а затем инициализировать элемент управления, используя эти значения, если они существуют в коде позади. Сохраните значения в слушателе события unload.