解决方案 »

  1.   

    取不到你可以用别的存值看一下是不是ViewState的原因,还是你代码的原因ViewState他是存在页面的,是不是页面回发了
    还有就是post时才有ViewState
      

  2.   

    as List<ExportLibraryForm> 不对。另外,如果只是干这个用,设置一个局部变量就行了,不要使用 ViewState。
      

  3.   

    此处的ViewState我是做测试用的,我发现ViewState的数据丢失了,最后找到问题 是在此处 对Repeater控件进行数据绑定的时候丢失的,所以想问一下,ViewState的值怎么会丢失呢,test1有值,而test2却为null,请教
      

  4.   

    你应该做调试。1. listExportLibraryForm 有值吗?
    2. formlist 有值吗?
    3. 如果为了随后再重复使用绑定的原始数据,你应该使用之前的那个绑定数据变量,而不是额外多使用 ViewState。
      

  5.   


    为了测试我做了如下操作: 发现test1有值,formlist的是存在的,但是在repeater控件数据绑定执行之后,test2却为null;
       ViewState["ExportLibraryForm"] = listExportLibraryForm;
                    List<ExportLibraryForm> test1 = ViewState["ExportLibraryForm"] as List<ExportLibraryForm>;//test1的值不为空
                    //ExportLibraryFormData = Common.ERP.FormHelper.ScreenClientInfor(listExportLibraryForm, myDepartments, GetUserRoles());
                    rptExportLibraryFrom.DataSource = formlist;
                    rptExportLibraryFrom.DataBind();//Repeater控件进行数据绑定
                    List<ExportLibraryForm> test2 = ViewState["ExportLibraryForm"] as List<ExportLibraryForm>;//test2的值为空,为什么
      

  6.   

    调试一下, 在Repeater进行数据绑定之后ViewState["ExportLibraryForm"]中是否还存在值?formlist和ViewState["ExportLibraryForm"]有没有什么关系?
      

  7.   

    这个问题主要出在,进行Repeater控件数据绑定时调用了其他程序集较为底层的方法,重命名导致的:我想ViewState数据不能正常使用,应当优先考虑是否是重命名,2有代码对ViewState缓存进行了清空,3 Webconfig对ViewState配置禁用了,感谢各位的解答
      

  8.   


    ViewState被禁用。。你页面头部添加 EnableViewstate 没有
      

  9.   

     private string Temp
            {
                get
                {
                    return ViewState["Temp"] as string;
                }
                set
                {
                    ViewState["Temp"] = value;
                }
            }string temp=Request.QueryString["Temp"] ;
      

  10.   


    出现这个问题的时候我第一时间就是对配置进行检查,确定没有问题,百思不知其解,在一次偶然,给ViewState重命名,发现可以用了,进行多次单步调试,但我至今还是没有发现 我在什么地方使得重命名了。--原因是重命名导致的
      

  11.   

    怎么会重命名呢ViesState只存在页面的单回发中,跨页面,页面回发此时ViesState就是失效。肯定不是重命名导致的,你使用添加箭筒程序监视是在哪一步操作下消失数据的没?
      

  12.   

    我把ViewState["ExportLibraryForm"] 的命名换了一下,ViewState["_ExportLibraryForm"] 就可以使用了,我只能猜测是某一处导致重名了,C#属性声明与赋值很多人习惯分开来,如果是重命名,还真难得找出是哪个变量用了ViewState["ExportLibraryForm"] ,所以哪出了问题就没去调试了
      

  13.   

    我把ViewState["ExportLibraryForm"] 的命名换了一下,ViewState["_ExportLibraryForm"] 就可以使用了,我只能猜测是某一处导致重名了,C#属性声明与赋值很多人习惯分开来,如果是重命名,还真难得找出是哪个变量用了ViewState["ExportLibraryForm"] ,所以哪出了问题就没去调试了