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

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

背景:

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 变量!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航