找回密码
 注册
搜索
热搜: 回贴

ASP.net:在视图状态中保存自定义的对象

2009-12-13 13:05| 发布者: admin| 查看: 32| 评论: 0|原作者: 夙瑶

◆背景: B/S三层结构系统,在表现层实例......


  背景:
  B/S三层结构系统,在表现层实例化业务层的对象,并使用此对象执行业务规则,访问数据层。
  问题:
  在表现实例化一个业务对象,在操作此对象时发现它不能被加入到ViewState中,提示错误:
  类型“AmmeterChg”必须标记为 Serializable 或者具有 ReferenceConverter 以外的TypeConverter,才能被放置在视图状态中。
  解决方案:

  通过将类实现 ISerialization 接口,使它可被序列化
  实现接口部分的代码如下:

  #region ISerializable 成员
  protected ammeterChg(SerializationInfo info,StreamingContext context)
  {
  this.customer_id = info.GetString("customer_id");
  this.am_id_old = info.GetString("am_id_old");
  this.abc =info.GetString("abc");
  this.ycbds_old = info.GetDouble("ycbds_old");
  }
  public void GetObjectData(System.Runtime.Serialization.SerializationInfo info,
  System.Runtime.Serialization.StreamingContext context)
  {
  info.AddValue("customer_id",customer_id);
  info.AddValue("am_id_old",am_id_old);
  info.AddValue("abc",abc);
  info.AddValue("ycbds_old",ycbds_old);
  }
  #endregion


  ===========================================================
  customer_id,am_id_old,ycbds_old 是该类的属性的 private 变量!


最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 07:20 , Processed in 0.129981 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部