ASP.NET ListView分页:视图状态无效

ASP.NET ListView分页:视图状态无效,asp.net,asp.net-controls,Asp.net,Asp.net Controls,我有一个ListView控件,如下所示(为了在此处发布,我已从ItemTemplate中删除了值): - 此ListView作为用户控件(.ascx)存在,我已将其嵌入到ASPX网页中 正如我所期望的,当网页加载时,对于9个项目的列表,我得到3个项目的3个页面 当我单击转到下一页时,该页将正确加载下一组项目。。。但只是短暂的一秒钟。然后一件奇怪的事情发生了。页面将自身的副本嵌入页面6次,每一次都位于页面内表单的一个字段下面 如果随后尝试转到下一页或上一页,则会出现ASP.NET服务器错误

我有一个ListView控件,如下所示(为了在此处发布,我已从ItemTemplate中删除了值):


-  
此ListView作为用户控件(.ascx)存在,我已将其嵌入到ASPX网页中

正如我所期望的,当网页加载时,对于9个项目的列表,我得到3个项目的3个页面

当我单击转到下一页时,该页将正确加载下一组项目。。。但只是短暂的一秒钟。然后一件奇怪的事情发生了。页面将自身的副本嵌入页面6次,每一次都位于页面内表单的一个字段下面

如果随后尝试转到下一页或上一页,则会出现ASP.NET服务器错误:

此页的状态信息无效,可能已损坏

在堆栈跟踪中,它显示以下错误:

FormatException:输入不是有效的Base-64字符串,因为它包含一个非基字符、两个以上的填充字符或填充字符中的一个非空白字符

ViewStateException:无效的viewstate


我可以在我的浏览器IE8和Chrome上复制它。

您可以使用listview事件onPagePropertiesChange

像这样

 <asp:ListView ID="lvCustomers" runat="server"   GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1"    OnPagePropertiesChanging="OnPagePropertiesChanging">
BindListView()是绑定列表视图的方法


我希望这会有帮助

看来问题出在数据绑定上。请提供服务器代码和数据源代码。当您的数据绑定正确时,这是有效的。请提供一些代码,以便我会给出正确的解决方案。谢谢
 <asp:ListView ID="lvCustomers" runat="server"   GroupPlaceholderID="groupPlaceHolder1"
ItemPlaceholderID="itemPlaceHolder1"    OnPagePropertiesChanging="OnPagePropertiesChanging">
protected void OnPagePropertiesChanging(object sender,PagePropertiesChangingEventArgs e)
{
    (lvCustomers.FindControl("DataPager1") as  DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
this.BindListView();
}