У меня есть элемент управления ListView следующим образом (для размещения здесь я удалил значения из моего ItemTemplate):ASP.NET ListView пейджинга: Invalid ViewState
<asp:ListView ID="ListView1" runat="server" DataSourceID="MyDataSource">
<LayoutTemplate>
<div id="requests" runat="server">
<asp:Panel runat="server" id="itemPlaceholder"></asp:Panel>
</div>
<asp:DataPager runat="server" ID="DataPager" PageSize="3">
<Fields>
<asp:NumericPagerField ButtonCount="10" PreviousPageText="<--" NextPageText="-->" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<div ID="itemPlaceholder" class="request" runat="server">
<asp:LinkButton ID="button" runat="server" Text='...' CommandName="..."
CommandArgument='...' OnClick="..."
style="...">
</asp:LinkButton> -
</div>
</ItemTemplate>
</asp:ListView>
Это ListView существует как пользовательский элемент управления (.ascx), который я встроил в веб-страницу ASPX.
Как и ожидалось, при загрузке веб-страницы для списка из 9 предметов я получаю 3 страницы из 3-х предметов.
Когда я нажимаю, чтобы перейти к следующей странице, страница загружает следующий набор элементов правильно ... но только на короткую секунду. Затем происходит странная вещь. Страница вставляет копию самой себя в страницу 6 раз, каждая из которых находится под одним из полей формы внутри страницы.
Если я затем попытаться перейти к следующей или предыдущей странице, появляется сообщение об ошибке сервера ASP.NET:
Информация о состоянии недействительна для этой страницы и может быть повреждена.
В трассировки стека, он показывает следующие ошибки:
FormatException: Входной не является допустимым Base-64 строка, поскольку она содержит не базовый характер, более чем в два обивка символов, или символ небелого пробела среди символов заполнения.
ViewStateException: Неверное состояние просмотра.
Я смог воспроизвести это как в моих браузерах, так и в IE8 и Chrome.
Выглядит, что проблема связана с привязкой данных. Пожалуйста, укажите код сервера и исходный код. –