zoukankan      html  css  js  c++  java
  • 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。

    网上关于这个错误的描述五花八门,遇到的问题都不尽相同。有的还说把Page的EnableViewState改为false, 这都是什么鬼主意。

    我的页面是一个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);
            }
  • 相关阅读:
    asp.net应用程序的生命周期和iis
    跨网页公布技术
    Java面试题:异常、静态变量
    js省市级联
    python基础之介绍
    Java学习(二)有关Tomcat的进一步理解与运用
    Java学习(一)环境的配置和软件的使用
    构造方法
    自言自语
    小小叹
  • 原文地址:https://www.cnblogs.com/nanfei/p/3308511.html
Copyright © 2011-2022 走看看