您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> asp.net >> 正文

在视图状态中保存自定义的对象

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-1-30 我要参与讨论

 

  背景:
  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 变量!

在google里搜索更多在视图状态中保存自定义的对象

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明