我有一個ListView控件如下(張貼在這裏,我已經從我的ItemTemplate刪除的值):ASP.NET ListView的分頁:無效的視圖狀態
<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上覆制它。
看起來這個問題是在數據綁定。請提供服務器代碼和數據源代碼。 –