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.

Другие вопросы по тегам