未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。
2013-09-08 17:31
204 查看
网上关于这个错误的描述五花八门,遇到的问题都不尽相同。有的还说把Page的EnableViewState改为false, 这都是什么鬼主意。
我的页面是一个UpdatePanel里面放了一个GridView, GridView翻页翻几页后就报这个错。最后观察发现只有翻过最后一页后,再翻其它页,才会报这个错,果断认定如果不是微软Bug,一定是翻页数据绑定有问题。
果不其然,是绑定有一处写错了。我觉得如果有牵涉到分页的类似错误,大家看看分页代码有无问题先。见下面红色代码说明:
我的页面是一个UpdatePanel里面放了一个GridView, GridView翻页翻几页后就报这个错。最后观察发现只有翻过最后一页后,再翻其它页,才会报这个错,果断认定如果不是微软Bug,一定是翻页数据绑定有问题。
果不其然,是绑定有一处写错了。我觉得如果有牵涉到分页的类似错误,大家看看分页代码有无问题先。见下面红色代码说明:
private void BindFeedBackList(int pageIndex) { var filter = new List<System.Linq.Expressions.Expression<Func<CM_FeedBack,bool>>>(); if(CurrentListMode == ListMode.MyFeedBack && !string.IsNullOrWhiteSpace(Context.User.Identity.Name)) { filter.Add(item => item.Username == Context.User.Identity.Name); } var data = Services.FeedBackService.QueryFeedBack(pageIndex, gvList.PageSize, filter);//之前是这一句把第一个参数写成了0,到最后一页应该绑定一条数据,但确绑定了5条 DataSourceHelper.BindGridView(pageIndex, gvList.PageSize, data.TotalCount, data.PageData, gvList); } protected void gvList_PageIndexChanging(object sender, GridViewPageEventArgs e) { BindFeedBackList(e.NewPageIndex); }
相关文章推荐
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。
- .net 错误:动态加载控件时出现错误:未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。
- 使用NHibernate绑定页面数据时,出现"未能加载视图状态,正在向其中加载视图状态。。。。"的Bug
- ASP.Net 动态加载控件 未能加载视图状态 的解决
- 关于Asp.net 页面动态加载用户控件,出现“未能加载视图状态”的原因
- 关于Asp.net 页面动态加载用户控件,出现“未能加载视图状态”的原因[续]
- 关于Asp.net 页面动态加载用户控件,出现“未能加载视图状态”的原因
- Asp.net 2.0 页面出现“未能加载视图状态...”错误的解决办法(作者:海雅)
- 未能加载视图状态???
- WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
- [原]控件视图状态分析之 - 用户控件静态加载
- 动态加载控件UserControl到页面上:视图状态问题
- 动态创建的控件不能保存视图状态
- WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
- 未能加载视图状态???
- asp.net 未能加载视图状态