这个赋值是否写在if(!this.Page.IsPostBack){}里面?

解决方案 »

  1.   

    再运行一次 uc1A.obj1 = uclB
      

  2.   

    viewstate保存的是可以被序列化的对象。任何能够被序列化为字符串的对象都是可以存储在ViewState中的。
      

  3.   

    如果你的这个类的实例不可以被序列化,那只好用Session/Cache来保存对象了。
      

  4.   

    uclA.obj1是会更改的,比如在页面的下拉框中选择某项之后,uclA.obj1 = uclC。所以我觉得只能用viewstate了,但是我在uclB的声明前面明明加了[Serializable],还是说“必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。”help!
      

  5.   

    出错时的调用堆栈是:System.Web.UI.LosFormatter.SerializeValue(TextWriter output, Object value)
    难道uclB真的不能被序列化??救救我啊~~
      

  6.   

    定义用户控件时加上这个:
    [Serializable]
    public class uclC: UserControl
    {
    }
      

  7.   

    to:chnking(kent)
    加上了还是说还是说“必须标记为 Serializable 或者具有 ReferenceConverter 以外的 TypeConverter,才能被放置在视图状态中。”